Fonction php

legn0me -  
Harricote Messages postés 424 Statut Membre -
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. Harricote Messages postés 424 Statut Membre 41
     
    <?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
  2. Harricote Messages postés 424 Statut Membre 41
     
    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
    1. legn0me
       
      Merci beaucoup pour votre aide, tout fonctionne parfaitement ;)

      Cordialement.
      0
  3. Harricote Messages postés 424 Statut Membre 41
     
    Fais ceci :
    <?php
    function mafonction()
    {
       for ($i = 1; $i < 7; $i++)
       { ?>
       <OPTION value="<?php echo $i; ?>"><?php echo $i; ?></OPTION>
       <?php }
    } ?>
    0
  4. legn0me
     
    Merci pour ta réponse Harricote, mais j'ai déjà essayé et hélas sans succès =/
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. legn0me
     
    Merci beaucoup Haricotte <:o)
    Ton code me disait juste une erreur de parenthèse mais sinon c'est impécable.
    Encore merci =)
    0
  7. legn0me
     
    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
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
    0
    1. legn0me
       
      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 ?
      0
  9. Harricote Messages postés 424 Statut Membre 41
     
    Met résolu alors !! ^^
    0