afficher données depuis bdd dans liste déroulante

Eléphanteau du PHP | 15 Messages

18 janv. 2011, 17:21

Bonjour,

Je fais un formulaire d'inscription avec des champs textes et des listes déroulantes qui permettent de renseigner une bdd.
Mon problème se situe au niveau de l'affichage dans les listes déroulantes.
Pour renseigner ma bbd, j'utilise le script suivant :
<select name="civilite" id="civilite">
				<?php
                $reponse = $bdd->query('SELECT * FROM civilite');
				while ($donnees = $reponse->fetch())
				{
					?>
                <option value="<?php echo $donnees['nom_civilite']; ?>" <?php if (!empty($_POST['civilite'])) {if ($_POST['civilite']==$donnees['nom_civilite']) print("selected");} ?>><?php echo $donnees['nom_civilite'];?> </option> 
	    		<?php
        		}
				?>
     			</select>
Et là pas de problème, tout fonctionne...
Là où ça se corse : Si l'utilisateur veut modifier sa civilité, je voudrais afficher la même liste déroulante mais avec pour valeur par défaut la civilité qu'il a déjà enregistré ...
J'ai donc repris le même script en modifiant {if ($_POST['civilite']==$donnees['nom_civilite']) print("selected");} par {if ($_POST['civilite']==$data['civilite']) print("selected");}
mais ça ne fonctionne pas...

Quelqu'un pourrait m'aider SVP...
Merci d'avance,

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 janv. 2011, 17:35

salut,

le principe est effectivement le même, pour que l'on puisse t'aider il faut que tu nous montre le code de la page de modification :)


@+
Il en faut peu pour être heureux ......

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

18 janv. 2011, 20:00

Non, il faut remplacer par:
if ($donnees['nom_civilite']==$data['civilite']) print("selected=\"selected\");
car tu veux comparer une civilité de la source ($donnees) de la liste déroulante avec la civilité déjà enregistrée dans les infos de l'utilisateur ($data).
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 15 Messages

18 janv. 2011, 20:23

SUPER sadeq !
ça fonctionne !!!
Mille merci.
A+

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

19 janv. 2011, 13:11

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène