Fonction php

Bonjour à tous,

J'ai une fonction en php que j'utilise dans un formulaire pour affiché 1,2,3,4,5,6 dans un <SELECT><OPTION> ..
Après validation du formulaire, je réaffiche ce dernier afin de vérifier les données en récupérant les valeurs choisies.
Mon problème est que je ne sais pas comment donner un VALUE en php qui me récupererait le chiffre sélectionner.

Voilà mon code :

<?php
function mafonction()
{
for ($i = 1; $i < 7; $i++)
{
?><OPTION><?php echo $i;?></OPTION><?php
}
}
?>

Et voilà comment je l'appelle :

<SELECT NAME="nb">
<?php lafonction(); ?>
</SELECT>

Je ne sais pas si je me fais comprendre, donc par exemple je sélectionne 5, je valide et quand mon formulaire se réaffiche il me remet a 1.

Merci pour votre aide, et bon dimanche à tous.
Configuration: Windows Vista Internet Explorer 7.0

10 réponses

  1. <?php
    function mafonction()
    {
       for ($i = 1; $i < 7; $i++)
       { ?>
       <OPTION value="<?php echo $i; ?>"<?php if(isset($_POST['nb'] && $_POST['nb'] == $i){echo 'selected';} ?>><?php echo $i; ?></OPTION>
       <?php }
    } ?>

    Voilà !!
    Désolé, je n'avais pas compris !! ^^
    1. Salut !! Essaye ceci :
      <?php
      function nombre($limite,$name_champ_select)
      {
         for ($i = 0; $i < $limite ; $i++)
         { ?>
         <option value="<?php echo $i; ?>"<?php if(isset($_POST[$name_champ_select]) && $_POST[$name_champ_select] == $i) {echo 'selected';} ?>><?php echo $i; ?></option>
         <?php }
      } ?>
      1. Merci beaucoup pour votre aide, tout fonctionne parfaitement ;)

        Cordialement.
    2. Fais ceci :
      <?php
      function mafonction()
      {
         for ($i = 1; $i < 7; $i++)
         { ?>
         <OPTION value="<?php echo $i; ?>"><?php echo $i; ?></OPTION>
         <?php }
      } ?>
      1. Merci pour ta réponse Harricote, mais j'ai déjà essayé et hélas sans succès =/
        1. Merci beaucoup Haricotte <:o)
          Ton code me disait juste une erreur de parenthèse mais sinon c'est impécable.
          Encore merci =)
          1. Désolée Haricotte mais saurais-tu comment mettre plusieurs paramètres dans la fonction ?
            Car je l'utilise pour plusieurs select (je l'affiche pour sélectionner un nombre d'adulte et un nombre d'enfant).
            J'ai essayé quelque chose comme ca :

            <OPTION value="<?php echo $i; ?>"
            <?php if((isset($_POST['nb'])) && ($_POST['nb'] == $i)) {echo 'selected';} || if((isset($_POST['animaux'])) && ($_POST['animaux'] == $i)) {echo 'selected';} ?>>
            <?php echo $i; ?></OPTION>

            mais sa ne marche pas =S
            1. function mafonction($limite,$name_champ_select)
              {
                 for ($i = 1; $i <$limite; $i++)
                 { ?>
                 <option value="<?php echo $i; ?>"<?php if(isset($_POST[$name_champ_select] && $_POST[$name_champ_select] == $i){echo 'selected';} ?>><?php echo $i; ?></option>
                 <?php }
              } ?>
              
              //et tu l'appelles par
              mafonction(7,'nb')  //pourr la première select
              
              et tu changes la limite et le deuxième parametre en fct du name de ta deuxième liste
              
              


              les noms des balises en minuscules
              1. Merci pour ta réponse Alain, mais nouveau problème : Je sélectionne un chiffre, et après validation ma liste se retrouve vide ..

                Voilà ma fonction :

                <?php
                function nombre($limite,$name_champ_select)
                {
                for ($i = 0; $i < $limite ; $i++)
                {
                ?>

                <option value="<?php echo $i; ?>"
                <?php if((isset($_POST['$name_champ_select'])) && ($_POST['$name_champ_select'] == $i)) {echo 'selected';} ?>>
                <?php echo $i; ?></option>
                <?php
                }
                }

                Et voilà comment je l'appelle :
                Pour le premier select :
                <SELECT NAME="nb1">
                <?php nombre(7, 'nb1'); ?>
                </SELECT>
                Pour le 2ème select :
                <SELECT NAME="nb2">
                <?php nombre(7, 'nb2'); ?>
                </SELECT>

                Vois-tu d'où viens le problème ?