Recuperer valeurs de checkbox avec une boucle [Résolu]

Messages postés
33
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
24 juin 2008
- - Dernière réponse : mattarius
Messages postés
33
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
24 juin 2008
- 24 avril 2006 à 11:25
Re-bonjour,



Voila je cherche à récupérer les valeurs de mes checkbox cochées dans
un formulaire, le problème c'est que mon formulaire est dynamique, il
peut y avoir un, zero ou bien 200 checkbox...

Alors pour les récupérer voici ce que j'ai fais :



<?php

$compt=$_POST['compteur']; /*un compteur qui contient le nombre
de checkbox affichés dans le formuliare pour faire ma boucle */





$i=0;

$checked=''; /*ça c'est la variable (vide au
départ) qui récupère la liste des checkbox cochés uniquement*/

while($i<$compt)

{

if(isset($_POST['check'.$i.''])) /*mes checkbox ont pour
valeur check0,check1... dans le formulaire précedent (ça, ça fonctionne
nikel)

{

$checked = $checked . $_POST['check'.$i.''].',';

$i++;

}



}

echo $checked

?>



voila, ça marche seulement quand tout est coché, sinon ça me fais une
boucle infini, et je sais pas comment lui dire de reprendre la boucle
si la condition est pas vérifiée...



J'espère être clair, petite précision le but de $checked est d'etre
ensuite concatené à une requete SQL d'où la forme
'valeur_de_check_coché_un','valeur_de_check_coché_deux',...



Merci d'avance
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
33
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
24 juin 2008
3
Merci
Merci à tous les deux, ce que j'ai fait fonctionne en fait, j'ai trouvé
la cause de ma boucle infini , encore une faute à la ***, je m'étais
juste trompé de ligne pour le i++, je l'ai décalée pour qu'elle se
trouve dans la boucle while et pas dans la condition "if", et ça
fonctionne très bien, voici ce qu'il fallait faire dans la boucle :



while($i<$compt)

{

if(isset($_POST['check'.$i.'']))

{$checked = $checked . $_POST['check'.$i.''].',';

}

$i++

}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de mattarius
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
salut
dans le form

dans le traitement
if(isset($_POST['check']) && is_array($_POST['check']) )
{
$check=$_POST['check'];

for($i=0;$i<count($check[]);$i++)
{
echo $check[$i];
}
}
a tester, je me trompe peut etre...
Commenter la réponse de sidf
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
Salut,

tu peux aussi faire ça pour parcourir le tableau :

if(isset($_POST['check']) && is_array($_POST['check']) )
{
foreach($_POST['check'] AS $valeur)
{
echo $valeur;
}
}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Commenter la réponse de cs_Anthomicro