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

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

Répondre au sujet
mattarius 33 Messages postés vendredi 14 avril 2006Date d'inscription 24 juin 2008 Dernière intervention - 24 avril 2006 à 11:25
+3
Utile
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++

}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de mattarius
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 21 avril 2006 à 17:08
0
Utile
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
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 21 avril 2006 à 21:52
0
Utile
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.