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

Résolu/Fermé
Signaler
Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016
-
Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016
-
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

Messages postés
34132
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2021
3 845
Bonjour
mets un "name" sous forme de tableau à tes checkbox
<inmut type="checkbox" name="lenom[]" value="$i" >



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


Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016

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
Messages postés
34132
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2021
3 845
Il faut mettre le $i entre des balises php avec un echo bien sur....
Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016

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
}
Messages postés
34132
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2021
3 845 >
Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016

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...
 }
}

Messages postés
15
Date d'inscription
mercredi 1 juin 2016
Statut
Membre
Dernière intervention
24 juin 2016
>
Messages postés
34132
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 novembre 2021

Super merci beaucoup cela fonctionne !!