Retenir valeur de liste déroulante

Résolu
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...
Configuration: Windows XP
Firefox 2.0.0.11

6 réponses

  1. '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
    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
      1. merci le père. (je rectifie $choix et $valeur)

        et dans une boucle ça donnerai quoi stp ?
        0
        1. <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
          1. 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
            1. en tout cas, merci à toi le pere (tu m'avais déjà aidé sur un post précédent sur la fonction substr)
              0