par
Ryle » 07 nov. 2006, 12:39
Tout d'abord, il te faut donner une valeur à tes cases de manière à pouvoir les distinguer et surtout à savoir lesquelles ont été cohées. L'idéal serait pour cela d'utiliser un identifiant unique, tant qu'à faire celui de ta base de données. Il te faut donc dans un premier temps le récupérer via ta requête et l'utiliser dans ta case
echo '<input ... value="'.$id.'">';
Il te suffit alors de récuperer ensuite $_POST['nomDeLaCase'] pour connaitre l'identifiant, sachant que si la case n'est pas cochée, $_POST['nomDeLaCase'] n'est pas défini.
Le problème c'est que si jamais tu as plusieurs cases avec le même nom qui sont cochées, les valeurs vont s'écraser et tu n'auras que la dernière, et si tu donnes un nom différent à chaque case, tu vas te galérer pour savoir lesquelles sont définies (et donc cochées) ou pas.
La solution se trouve dans les crochets : si tu donne le même nom à tes cases et que tu y ajoutes des [] cela va générer un tableau et les valeurs ne s'écraseront plus
Code : Tout sélectionner
<input name="maCase[]" ... value="1">
<input name="maCase[]" ... value="2">
...
$_POST['nomDeLaCaseSansLesCrochets'] devient alors un tableau contenant les id des cases cochées. Il ne te reste plus alors qu'à parcourir ce tableau à l'aide d'une boucle pour y trouver les id cochés

Tout d'abord, il te faut donner une valeur à tes cases de manière à pouvoir les distinguer et surtout à savoir lesquelles ont été cohées. L'idéal serait pour cela d'utiliser un identifiant unique, tant qu'à faire celui de ta base de données. Il te faut donc dans un premier temps le récupérer via ta requête et l'utiliser dans ta case :)
[php]echo '<input ... value="'.$id.'">';[/php]
Il te suffit alors de récuperer ensuite $_POST['nomDeLaCase'] pour connaitre l'identifiant, sachant que si la case n'est pas cochée, $_POST['nomDeLaCase'] n'est pas défini.
Le problème c'est que si jamais tu as plusieurs cases avec le même nom qui sont cochées, les valeurs vont s'écraser et tu n'auras que la dernière, et si tu donnes un nom différent à chaque case, tu vas te galérer pour savoir lesquelles sont définies (et donc cochées) ou pas.
La solution se trouve dans les crochets : si tu donne le même nom à tes cases et que tu y ajoutes des [] cela va générer un tableau et les valeurs ne s'écraseront plus
[code]<input name="maCase[]" ... value="1">
<input name="maCase[]" ... value="2">
...[/code]
$_POST['nomDeLaCaseSansLesCrochets'] devient alors un tableau contenant les id des cases cochées. Il ne te reste plus alors qu'à parcourir ce tableau à l'aide d'une boucle pour y trouver les id cochés :)