Affichage choix checkbox générée par bdd

Résolu
crizane Messages postés 15 Statut Membre -  
crizane Messages postés 15 Statut Membre -
Bonjour,

Voici mon problème:
J'ai créer une checkbox composée de nombreux choix a cocher, et générée par une boucle while ainsi que par des valeurs stockée dans une base de donnée. Je souhaiterai recuperer les valeurs cochées par l'utilisateur mais je n'arrive pas a récuperer une valeur de "value" qui diffère selon les différentes cases cocher. J'ai essayer en mettant pour value "$i" et en fixant $i = 1 au départ, puis en incrémentant ($i++) à chaque tour de boucle mais cela ne marche pas...

Auriez vous une solution à me proposer?
Merci beaucoup de votre aide.

voici mon code dans l'etat actuel:

</div>

<!-- All periods -->
<br /><div id="quotidien" class="quotidien" style="display:block">

<?php
$bdd = new PDO("mysql:host=localhost;dbname=test_1;charset=utf8","root","");
$requete = $bdd->query("SELECT * FROM periods");
?>

<form method="POST" action="">
<label>Periods:</label><br>

<?php
$i = 1;

while($resultat = $requete->fetch())
{
$part = $resultat['Begin_date'];
$endpart = $resultat['End_date'];?>
<input type="checkbox" name="$i" value="$i" > From <?php echo $part ?> to <?php echo $endpart ?>        
<?php
$i++;
} ?>
<input type="submit" value="Submit" />
</select>
<?php echo "la case cochée est: " . $_POST['$i'] ?>
</form>

</div>

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour
    mets un "name" sous forme de tableau à tes checkbox
    <inmut type="checkbox" name="lenom[]" value="$i" >
    


    Puis pour voir
    print_r($_POST['lenom']);
    


    0
  2. crizane Messages postés 15 Statut Membre
     
    Bonjour,

    Merci de ta reponse, j'ai essayé comme tu m'as proposé jordane, mais du coup maintenant, lorsque je coche une cache au hasard, cela me renvoie: Array ( [0] => $i )
    Si je coche 2 cases au hasard: Array ( [0] => $i [1] => $i ) , 3 cases au hasard: Array ( [0] => $i [1] => $i [2] => $i ) et ainsi de suite...

    Je souhaiterai que lorsque je coche la premiere case, cela me renvoie par exemple 1, la deuxième: 2, la 25éme: 25 et ainsi de suite

    Si quelqu'un a une solution.. :)

    Merci
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Il faut mettre le $i entre des balises php avec un echo bien sur....
      0
    2. crizane Messages postés 15 Statut Membre
       
      Merci beaucoup!
      Et dernière question, sais tu comment récuperer chaque élément de l'array?
      Je veux par exemple mettre par la suite un:
      if(element de l'array = qque chose)
      {
      action
      }
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > crizane Messages postés 15 Statut Membre
         
        Ben soit tu sais quel élément tu veux récupérer... et dans ce cas tu n'as qu'à faire
        if($tonArray[le_numero_voulu] == qqchose){
           //action...
         }
        

        Soit tu ne le connais pas... et dans ce cas tu boucles sur ton array
        par exemple :
        foreach($tonArray as $key => $value ){
          if($value == qqchose){
             //action...
         }
        }
        
        
        0
      2. crizane Messages postés 15 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Super merci beaucoup cela fonctionne !!
        0