Recuperer valeurs de checkbox avec une boucle

Résolu
mattarius
Messages postés
33
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
24 juin 2008
- 21 avril 2006 à 16:37
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

3 réponses

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
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++

}
3