IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage d'une liste deroulante


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 13
    Points : 15
    Points
    15
    Par défaut Affichage d'une liste deroulante
    Bonjour à tous,
    sur PHP5, Lors de l'affichage des données de ma BD dans un formulaire, j'ai rencontré un prb d'affichage d'une liste déroulante: dans l'affichage il n'apparait que l'ID;
    ici dans mon cas le role de l'utilisateur est une clé étrangère ayant référence à une autre table "roleuser" qui a comme attributs : ID / NomRole;
    et dans l'affichage je souhaite avoir le NomRole et nom pas son ID

    voici mon code utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <?php include("connect.php"); ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
    <TITLE>ADMIN ConsUser</TITLE>
    </HEAD>
     
    <BODY>
    <?php
    	$tablrole = array();
    	$statement = $db-> prepare('SELECT * from utilisateurrole');	
    	//Execution	
    	$statement->execute();	
    	if ($statement->execute())
    		$tablrole = $statement->fetchAll (PDO::FETCH_OBJ);	
    	$afficher = $db->query ('SELECT * FROM utilisateur');
    	// On affiche 
    	while ($donnees = $afficher->fetch())
    {
    ?>
     
    <DIV align="center">
    	<TABLE border=2 >
    		<TR align="center">
    			<TD align="center" WIDTH=30% >
    				 <strong>ID :</strong> <BR><?php echo $donnees['IdUtilisateur']; ?><br />
    			</TD >
     
    			<TD align="center" WIDTH=30% >
    				<strong>Username :</strong> <BR>
    				<INPUT NAME="Username" TYPE="TEXT" SIZE="20" MAXLENGTH="20" 
    				VALUE= '<?= $donnees['Username'] ?>'/>
    			</TD>
     
    			<TD align="center" WIDTH=30% >
    				<strong>Password :</strong> <BR>
    				<INPUT NAME="Password" TYPE="TEXT" SIZE="20" MAXLENGTH="20" 
    				VALUE= '<?= $donnees['Password'] ?>'/>
    			</TD>
     
    			<TD align="center" WIDTH=30% >
    				<strong>RoleUser :</strong> <BR>
     
    				<INPUT NAME="RoleUser" TYPE="TEXT" SIZE="20" MAXLENGTH="20" 
    				VALUE= '<?= $donnees['RoleUser'] ?>'/>				
    			</TD>
     
    			<TD align="center">
    				<INPUT type="submit" value=" Modifier " > 
    			</TD >
     
    			<TD align="center">
    				<INPUT type="reset" value=" Supprimer">
    			</TD >
    		</TR>   
    	 </TABLE>      
    <?php
    }
    $afficher->closeCursor(); // Termine le traitement de la requête
    ?>
    </DIV>
    	 <?php include("footer.php"); ?>
    </BODY>
    </HTML>

    Nom : userrole.JPG
Affichages : 275
Taille : 38,3 Ko

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Bonjour,

    en fait tu n'as qu'une vague idée sur le fonctionnement des bases de données relationnelles (sur les jointures pour être plus exact), tu devrais lire quelques tuto comme celui ci

    On ne fait qu'une seule requête sql avec une jointure.
    $moi= ( !== ) ? : ;

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    biensur tant que j'ai posé une question, c'est que je savais pas;
    et je ne suppose pas que tu es né un génie
    merci pour ton temps que tu as pris pour lire ma question et de ta belle réponse

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    désolé je répète reformule ma réponse :

    Avec les bases de données relationnelles on ne fait JAMAIS de cette façon, personnellement j'ai beaucoup appris avec ce tuto On ne fait qu'une seule requête sql avec une jointure. Les jointures c'est la base et il est impossible de s'en passer d'ou le nom : bases de données relationnelles . Une jointure c'est justement l'art de relier plusieurs tables entre elles.

    Je te conseille (pas d'obligation) de lire ce cours (qui m'a servi) avant de te lancer dans du développement php. Un bon moyen est de faire des tests dans phpmyadmin pour bien valider ces requêtes sql.

    Je pouvais te donner la bonne syntaxe directement, mais comme pour moi cela est le béaba, je pense que je ne te rendrait pas service pour la suite de ton développement.

    Bonne réussite pour ton projet.

    ps: j'ai une vague idée de bases de données nosql et je ne m'offusque pas que l'on aille me dire de voir les cours/tutos. Nous apprenons tous les jours des autres mais c'est un minimum de consulter les cours mis à notre disposition et d'apprendre par sois même.
    $moi= ( !== ) ? : ;

  5. #5
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    Yep za3zou3TN,
    y'a pas de honte à être débutant, on y est tous passé et y'a plein de fois ou perso je suis pas sûr (!!!) d'en être moi-même sorti...
    si je suis d'accord avec papajoker sur le renvoie aux tutos sur les bases fondamentales plutôt qu'à donner une réponse toute faite, hésite pas à nous relancer si tu as des question vis à vis de ce que tu y trouveras...
    My daughter, my laptop, my bike and my double-sticks...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    Bonjour,
    Je suis bien dans la rubrique de PHP !!!!!
    Concernant la création de BD, c'est déjà fait, je n'est aucun problème, et j'ai consulté le tuto et la requete marche parfaitement sur SQL,
    mais mon prb c'est lors de l'affichage,
    Mon probleme est avec le code PHP 5 non pas aux requete SQL, Aprés la création du formulaire de remplissage, pour afficher les infos concernant un utilisateur il n'affiche que l'ID de son role qui est une table jointurée ("roleuser" dans mon cas), normalement il doit afficher le Nom du role et non pas son ID
    Voici ce que j'ai dans ma base et se que j'ai dans mon affichage

    Nom : BDuser.JPG
Affichages : 239
Taille : 49,4 Ko
    Nom : userrole.JPG
Affichages : 247
Taille : 38,3 Ko

  7. #7
    Membre confirmé
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Points : 451
    Points
    451
    Par défaut
    le code que tu mets en début de post est-il le bon ?
    - il ne génère pas de liste déroulante
    - il n'établit aucun lien entre tes deux tables, utilisateurrole et utilisateur.

    du coup, en lui-même il ne fait de ce que tu recherches....

    ...difficile de comprendre d'où vient le bug.
    My daughter, my laptop, my bike and my double-sticks...

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    ok c'est bien fait au niveau de la base de donnée ton modèle physique est s'en doute bien fait, mais le tuto est très clair :
    Citation Envoyé par tuto
    Une jointure entre tables peut être mise en oeuvre, soit à l'aide des éléments de syntaxe SQL que nous avons déjà vu, soit à l'aide d'une clause spécifique du SQL, la clause JOIN.
    Citation Envoyé par za3zou3TN Voir le message
    l'ID de son role qui est une table jointurée ("roleuser" dans mon cas), normalement il doit afficher le Nom du role et non pas son ID
    justement NON
    mysql (et autres) ne fait pas de liaisons automatiques en fonction de la structure physique !
    donc pour récupérer des informations contenues de plusieurs tables il n'existe qu'un seul moyen la jointure et cela ce passe au niveau sql.
    tu fais uniquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from utilisateurrole;SELECT * FROM utilisateur
    ici tu ne lis aucunement ces 2 tables au niveau sql ,
    il faut "tout simplement" regrouper ces 2 requêtes en une seule en faisant une jointure en indiquant utilisateur.roleuser=utilisateur.idroleutilisateur alors mysql comprend enfin que ces 2 tables sont liées. il y a 50 exemples dans le tuto avec le mot clé JOIN .
    en gros, cette jointure SQL va alors te retourner une seule nouvelle table temporaire avec les informations des 2 tables; et alors tu pourras boucler en php pour lire dans celle ci.
    $moi= ( !== ) ? : ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/02/2008, 11h42
  2. probleme d'affichage d'une liste
    Par ypoupou dans le forum Struts 1
    Réponses: 6
    Dernier message: 28/01/2008, 09h52
  3. Probleme de remplissage d'une liste déroulante
    Par kodo dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/08/2007, 16h13
  4. Affichage d'une liste deroulante
    Par moktar86 dans le forum IHM
    Réponses: 6
    Dernier message: 30/04/2007, 11h11
  5. [JSP] Affichage selon une liste deroulante
    Par cnguyen dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 21/06/2006, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo