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 -
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>
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
-
Bonjour
mets un "name" sous forme de tableau à tes checkbox<inmut type="checkbox" name="lenom[]" value="$i" >
Puis pour voirprint_r($_POST['lenom']);
-
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-
-
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
}- 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... } }
-