C’est sûrement une question de noob, mais j’assume. Je suis là pour apprendre. Et puis je suis un peu pressé par le temps, vu qu’il faut que cela fonctionne pour demain matin et je patauge là dedans depuis trop longtemps…
Bon alors, j’ai sur une page un paquet de checkbox. Je leur est mis la même valeur pour leur attribut name (par exemple : plop). Et pour chaque checkbox, l’attribut value correspond à une id différente présente dans ma DB.
Ce que j’espère déjà en faisant ça, c’est de récupérer un tableau multidimensionnel. qui aurait à peu près la gueule :
$_POST['plop'][0] => 42
$_POST['plop'][1] => 13
$_POST['plop'][2] => 21
Selon les checkbox cochées.
Déjà, dites moi si je me trompe de ce côté là.
Ensuite ce que je n’arrive pas à faire, c’est à récupérer les différentes id des checkbox validées. J’aurais besoin de les récupérer pour les foutre dans un tableau tout con à deux dimensions et pas associatif.
Tu ne sais pas récupérer les valeurs ? Il suffit de faire :print('<pre>');
var_dump($_POST);
print('</pre>');Ca devrait te renseigner sur les valeurs et après comment les récupérer.
Le chiffre entre guillement correspond à ce que j’ai mis dans mon value, c’est à dire mon id.
Donc je dirais qu’il récupère bien mon id.
Par contre si je coche plusieurs checkboxs. Le chiffre entre guillement correspond à l’id de la dernière chexboxs du formulaire cochées.
çà m’agace… Je bloque comme une merde alors que cela doit être tout con.
Il faut que tes checkbox aient un nom différent !
Moi j’utilise cette méthode :
<input type="checkbox" name="check_1" value="13"/>
<input type="checkbox" name="check_2" value="14"/>
<input type="checkbox" name="check_3" value=15"/>
...
<input type="checkbox" name="check_10" value="23"/>
On numérote les checkbox dans name. Value étant l’ID.
Seules les checkbox cochées sont envoyées.
Il suffit que ton fichier PHP vérifie les cases à cocher qui ont été envoyées pour récupérer l’ID. Pour cela on utilise une boucle qui va vérifier les checkbox existantes :
[code]<?
$id = array(); // tableau qui contiendra la liste des ID sélectionnés
// l’exemple supporte 10 cases à cocher :
for ($i = 1; $i <11; $i++) {
if (isset($POST("check$i"))) $id[] = $POST("check$i"); // vérifie si check_$i existe
}