Page 1 sur 1

insérer des valeurs 1 ou 0 selon les checkbox cochées

Posté : 25 mai 2005, 10:30
par secar
Bonjour a tous,

je voudrais insérer les valeurs 1 ou 0 dans une table selon les checkbox séléctionnées. Par exemple Si un utilisateur coche deux checkbox deux champs de la table prennent la valeur 1, l'autre 0. Il y a 3 checkbox et mon code de formulaire est le suivant:

<td> <input type="checkbox" name="r_blanc" value="checkbox">
Blanc
<input type="checkbox" name="r_rouge" value="checkbox">
Rouge
<input type="checkbox" name="r_rose" value="checkbox">
Ros&eacute; </td>

quelqu'un pourrait-il m'aider?

Merci d'avance...

Posté : 25 mai 2005, 10:34
par zeus
Il faut savoir qu'au moment de la soumission de ton formulaire, seules les checkbox cochées auront une variable POST créées !!!

Donc si ton formulaire est comme suit :

Code : Tout sélectionner

<form method="post" action="test.php"> <input type="checkbox" name="r_blanc" value="checkbox"> Blanc <input type="checkbox" name="r_rouge" value="checkbox"> Rouge <input type="checkbox" name="r_rose" value="checkbox"> Ros&eacute; </form>
ta page de traitement (ici test.php) doit être comme suit :
if (isset($_POST["r_blanc"]))
  $blanc = 1;
else
  $blanc = 0;

if (isset($_POST["r_rouge"]))
  $rouge = 1;
else
  $rouge = 0;

if (isset($_POST["r_rose"]))
  $rose = 1;
else
  $rose = 0;

Posté : 25 mai 2005, 10:41
par secar
Merci beaucoup pour cette réponse qui va bien m'aider...

Posté : 25 mai 2005, 10:49
par zeus
Si tu veux même optimiser ton code, tu peux le remplacer par :
$blanc = (isset($_POST["r_blanc"])) ? 1 : 0;
$rouge = (isset($_POST["r_rouge"])) ? 1 : 0;
$rose = (isset($_POST["r_rose"])) ? 1 : 0;
C'est la même chose mais en plus optimisé !!!!

la syntaxe c'est :
(condition) ? return si vrai : return si faux