Votre question

Afficher le contenu d'une base de données

Tags :
  • Serveur
  • Programmation
Dernière réponse : dans Programmation
10 Février 2009 11:03:59

Bonjour,

Je suis en train d'essayer d'acceder à ma base de données et d'afficher sur ma page php le contenu de cette base.
Voici le code :

  1. <form method="post" action="controleur.php?action=action_ajouter_encadre">
  2. <?php
  3.  
  4. $connexionMYSQL = mysql_connect("localhost","root");
  5. if (! $connexionMYSQL)//Connexion au serveur manqué
  6. echo "Echec de la connexion au serveur MYSQL.<br/>";
  7. else//Connexion au serveur réussie
  8. {
  9. echo "Connexion au serveur MYSQL établie.<br/>";
  10. $activationBD = mysql_select_db("gadget", $connexionMYSQL);
  11. if (! $activationBD)//Activation de la base de données raté
  12. echo "Connexion au serveur MYSQL réussie mais impossible d'accéder à la base de données.<br/>";
  13. else//activation réussie
  14. {
  15. echo "Connexion au serveur MYSQL ok. Activation de la base de données des utilisateurs réussite.<br/>";
  16. $sql = "SELECT * FROM utilisateurs WHERE (statut='1')"; // Sélectionne les encadres (statut = 1)
  17. $requete = mysql_query($sql);
  18. $nbResultats = mysql_num_rows($requete);//compte le nombre de lignes
  19.  
  20. //test de l'execution de la requete
  21. if (requete) echo "Execution de la requete réussie.<br/>";
  22. }
  23. }
  24. ?>
  25.  
  26.  
  27. Liste des encadrants <br/>
  28. <input type="text" name="loginEncadre" />
  29. <input type="text" name="passwordEncadre" />
  30. <input type="submit" name="ajoutEncadre" value="Ajouter" />


Ma base de données regroupe trois champs : login, mdp ,statut.
Il y a un encadrant au statut 0 et plusieurs encadrés avec un statut 1.
Je désire juste afficher les logins des encadrés.
Je me doutes qu'il faille ecrire un echo mais je n'ai pas la syntaxe pour ecrire seulement la valeur d'un champs de la table.

Merci de votre aide!!

Autres pages sur : afficher contenu base donnees

10 Février 2009 20:55:25

tu peux faire ça:
while($req = mysql_fetch_array($requete){
echo $req['login'];
echo " ";
}
c'est bien ce que tu demandais?
m
0
l
10 Février 2009 21:00:25

Bonjour,
A la place de la ligne 21, essaie :
  1. if ($requete) {
  2. echo "Execution de la requete réussie.<br/>
  3. Liste des encadrants <br/>";
  4. while ($row = mysql_fetch_object($requete)) {
  5. echo $row->login ."<br>";
  6. }
  7. }

En fait, ça fonctionne si "login" est bien un champ de ta table.
Sinon, il faut le remplacer par... le bon nom :) 
Je te conseille de faire une petite recherche sur les fonctions dont le nom commence par mysql_fetch
(surtout avec des exemples, ça aide)
Jete un oeil sur http://www.vulgarisation-informatique.com/php-mysql.php...

Bon php.
m
0
l
Contenus similaires
11 Février 2009 09:43:03

Merci à vous ça fonctionne je suis content !
Mais je me pose une question de plus...
Là je me dois de rajouter un bouton "supprimer" donc de type submit à la fin de chaque ligne et que quand on clique sur un des bouton submit ça supprime de la base de données l'encadre qui correspond au bouton supprimer. Il faut donc faire correspondre le bouton supprimer à l'encadré mais là c'est le néant...
Après l'action appelé fera un DELETE mais c'est faire correspondre avec l'encadré.
Merci de votre aide
m
0
l
11 Février 2009 10:26:10

Voici le code que j'ai mis pour faire apparaître le bouton supprimer avec les logins :


<?php
if ($requete) {
echo "Execution de la requete réussie.<br/>";

while ($row = mysql_fetch_object($requete)) {
echo $row->login;

echo "<tr>";
echo "<td width='40'><a href='controleur.php?action=action_supprimer_encadre' >";
echo "<input type='submit' value='supprimer'></td><br/>";
echo "<tr\>";
}
}
?>
m
0
l
11 Février 2009 15:06:43

ALEX DARK 77 arrète de dire n'importe quoi c'est le 2ème post que je vois que tu dis ca alors que ca n'a rien avoir.

Blasil64 pour supprimé une seule ligne dans une table BDD il faut que tu sélectionne cette ligne par son ID
m
0
l
11 Février 2009 16:15:49

Là je suis en train de chercher avec les ID mais concrètement il faut que je fasse quoi ?
Je dois rajouter un champ dans ma base qui s'appelle Id_enc par exemple, et après dans mon code d'affichage je fais comment ?
m
0
l
11 Février 2009 23:17:18


Remplace ton bouton de type submit par :
  1. echo "<INPUT TYPE=BUTTON VALUE='Supprimer' ONCLICK=\"window.location.href='supprimer.php?login=$row->login'\"></TD>";

Bien sûr, il faut créer un module "supprimer.php" qui devra exécuter l'instruction SQL DELETE, genre :
  1. $maConnexion = mysql_connect("localhost","root" ); // Connexion à la BDD
  2. if (isSet($_GET['login'])) // vérifie qu'il y a qq chose dans login
  3. $login = $_GET['login'];
  4. else
  5. die ("Rien à supprimer ?!"); // sinon on arrete là
  6.  
  7. mysql_query( "DELETE FROM utilisateurs WHERE login = \"$login\" ", $maConnexion ); // Suppression de la table
  8. mysql_close( $maConnexion ); // déconnexion
  9. // Insérer code pour afficher "Suppression effectuée" , éventuellement.

... de rien :D 
m
0
l
12 Février 2009 15:26:40

En relisant sur le lien que tu as donner:

Citation :
Oui mais l'encadrant ne dois pas à avoir à le saisir il doit s'incrémenter directement dans le base à l'ajout du mot de passe et du login.
Je ne sais aps si on parle de la même chose là !
Merci de ton aide


Il suffit de mettre l'id en auto_increment... chaque nouvelle entrée aura une id automatique (la première 1, la deuxième 2, etc).
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS