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. 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. 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 ?
  3. 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. Merci beaucoup Haricotte <:o)
      Ton code me disait juste une erreur de parenthèse mais sinon c'est impécable.
      Encore merci =)
      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. Merci pour ta réponse Harricote, mais j'ai déjà essayé et hélas sans succès =/
          1. Fais ceci :
            <?php
            function mafonction()
            {
               for ($i = 1; $i < 7; $i++)
               { ?>
               <OPTION value="<?php echo $i; ?>"><?php echo $i; ?></OPTION>
               <?php }
            } ?>