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

Résolu/Fermé
crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016 - 1 juin 2016 à 05:10
crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016 - 2 juin 2016 à 02:55
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 juin 2016 à 06:33
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
crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016
1 juin 2016 à 22:01
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 juin 2016 à 23:11
Il faut mettre le $i entre des balises php avec un echo bien sur....
0
crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016
1 juin 2016 à 23:57
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016
2 juin 2016 à 00:23
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
crizane Messages postés 15 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 24 juin 2016 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
2 juin 2016 à 02:55
Super merci beaucoup cela fonctionne !!
0