Page 1 sur 1

checkbox dynamique

Posté : 30 mars 2009, 11:29
par jp.bond
bonjour,

je parcours le forum, et je ne trouve pas ou ne comprend pas comment faire pour utiliser les checkbox de facon dynamique...
je m'explique :

j'ai un tableau affiché sur une page de x résultats (présélection), et je demande aux utilisateurs de faire un sélection de seulement 3 résultats en cochant 3 lignes de ce tableau, avec une checkbox.
La présélection peut contenir aussi bien 3 résultats que 36...et je ne dois en garder que 3 à la fin...en récupérant leur id bien sur.

j'ai essayé de me baser sur ce post mais sans succes :
http://www.phpfrance.com/forums/voir_su ... eckbox.php

il y a un truc qui m'echappe, je vais essayer de l'aborder différemment :

Dans ma premiere page j'ai :

Code : Tout sélectionner

<td align="center"><input type="checkbox" name="CheckboxChantier'.$i.'" value="'.$enregistrement2['id'].'" id="CheckboxChantier'.$i.'" /></td> <input type="hidden" name="nblignes" value="'.$i.'" id="nblignes" />
et dans ma page de résultat, si j'affiche :

Code : Tout sélectionner

resultat : '.$CheckboxChantier1.' / '.$CheckboxChantier2.' / '.$CheckboxChantier3.' / '.$CheckboxChantier4.'
je récupère bien mon id...
mais il faudrait que je fasse une boucle me permettant de pouvoir afficher n'importe quel id parmi 36, une sélection de 3 ...

j'ai essayé un truc comme ca mais c'est pas la bonne syntaxe bien sur :

Code : Tout sélectionner

<p>Il y avait '.$nblignes.' chantiers préselectionnés.<br> il reste <br>: '; for($j=1;$j <= $nblignes;$j++) { $resultat = 'CheckboxChantier'.$j; echo 'CheckboxChantier'.$j.' = $'.$resultat.'<br />'; }
je pense pas etre très loin mais un peu d'aide me ferait du bien car je m'embrouille là...

merci bcp !

---------------------

euh, je crois que j'ai trouvé :

Code : Tout sélectionner

for($j=1;$j <= $nblignes;$j++) { echo 'CheckboxChantier'.$j.' = '.$_POST['CheckboxChantier'.$j].'<br />'; }

Posté : 30 mars 2009, 14:11
par Ryle
Tu peux aussi procéder ainsi :
'<input type="checkbox" name="CheckboxChantier[]" value="'.$enregistrement2['id'].'" id="CheckboxChantier'.$i.'" />'
En donnant un nom identique, et avec des crochets ([]) à toutes tes checkbox, tu peux récupérer le tableau $_POST['CheckboxChantier'] qui contiendra les values de chaque case qui a été cochée. A partir de là, n'en utiliser que 3 ne devrait pas poser de soucis :)

Posté : 30 mars 2009, 22:56
par jp.bond
merci ! je vais me pencher sur ta solution également ;-)