Retenir valeur de liste déroulante

Résolu/Fermé
Jean_2 Messages postés 245 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 30 janv. 2008 à 11:44
Jean_2 Messages postés 245 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 2 févr. 2008 à 12:51
Bonjour,

Sur ma page, dans un formulzire, j'ai cette liste dérooulante :
<select name="type">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

Ma base est alimentée lors de l'envoi du formulaire.
Comment faire pour que la valeur selected de la liste déroulante, si je reviens sur le formulaire, soit celle que j'ai choisie précédemment ?
J'aimerai faire ça en php...
ex : j'ai choisi 2, je voudrai qu'en revenant sur mon formulaire, ce soit la valeur 2 qui soit selectionnée.

Merci à vous pour vore aide...

6 réponses

'selected="selected"' n'est utile qu'en XHTML. SELECTED suffit en HTML
Effectivement, pour 4 options figées, tu ne gagnes rien à faire une boucle.
1
Bonjour

Si ta valeur précédemment choisie est dans $choix, tu peux faire:

<select name="type"> 
<option value="1" <?php if($valeur==1) echo ' SELECTED' ?>>1</option> 
<option value="2" <?php if($valeur==2) echo ' SELECTED' ?>>2</option> 
<option value="3" <?php if($valeur==3) echo ' SELECTED' ?>>3</option> 
</select> 


Enfin, c'est le principe. Il vaut mieux le faire proprement dans une boucle
0
Jean_2 Messages postés 245 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 13 septembre 2013 12
30 janv. 2008 à 12:10
merci le père. (je rectifie $choix et $valeur)

et dans une boucle ça donnerai quoi stp ?
0
<select name="type"> 
<?php
for ($k=1;$k<=3;$k++) {
  echo '<option value="',$k,'"';
  if($choix==$k) echo ' SELECTED';
  echo ">$k</option>\n";
}
?>
</select> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jean_2 Messages postés 245 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 13 septembre 2013 12
30 janv. 2008 à 13:54
ok nickel

je rectifie et ça donne :
<select name="type">
<?php
for ($k=1;$k<=3;$k++) {
echo '<option value="',$k,'"';
if($choix==$k) echo 'selected="selected"';
echo ">$k</option>\n";
}
?>
</select>

malheureusement, je ne pourrais pas l'utiliser car la value n'est pas un nombre chez moi mais un mot. (bien qu'avec un peu de code je pourrais... mais comme je n'ai que 4 options, je ne vais pas m'embeter)
0
Jean_2 Messages postés 245 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 13 septembre 2013 12
2 févr. 2008 à 12:51
en tout cas, merci à toi le pere (tu m'avais déjà aidé sur un post précédent sur la fonction substr)
0