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

Messages postés
33
Date d'inscription
vendredi 14 avril 2006
Dernière intervention
24 juin 2008
- - Dernière réponse : mattarius
Messages postés
33
Date d'inscription
vendredi 14 avril 2006
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 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
33
Date d'inscription
vendredi 14 avril 2006
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 a aidé 101 internautes ce mois-ci

Commenter la réponse de mattarius
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
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
9440
Date d'inscription
mardi 9 octobre 2001
Dernière intervention
13 avril 2007
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.