Enregistrer array dans BD
Posté : 12 déc. 2008, 16:13
Bonjour à tous, j'ai un problème d'enregistrement de case à cocher que je n'arrive pas à résoudre.
Je récupère les valeur de checkbox (il y en a 24) de la façon suivante:
J'enregistre dans la base par:
L'utilisateur peut cocher de 1 à 3 cases, donc il y a 24 cases à cocher et 3 champs correspondants.
Comme j'ai écris le script, si je coche les 3 premières cases il enregistre dans les 3 champs.
Si je coche les cases b,c,d, le champ 1 est vide et il enregistre dans les champs 2 et 3.
Si je coche les cases c,d,e, les champs 1,2 sont vide et il enregistre dans le champ 3.
Si bien que si je coche les cases après la 3ème les champs sont vide.
Comment faire pour que quelque soit le nombre et l'emplacement des cases cochées elles soit enregistrées dans les champs de la base.
Encore merci pour votre aide.
Je récupère les valeur de checkbox (il y en a 24) de la façon suivante:
Code : Tout sélectionner
$tab = array();
if(!empty($_POST["type_a"])) $tab[] = $_POST["type_a"];
else {$tab[] = '';}
if(!empty($_POST["type_b"])) $tab[] = $_POST["type_b"];
else {$tab[] = '';}
if(!empty($_POST["type_c"])) $tab[] = $_POST["type_c"];
else {$tab[] = '';}]
if(!empty($_POST["type_d"])) $tab[] = $_POST["type_d"];
else {$tab[] = '';}]
et ainsi de suite...Code : Tout sélectionner
$sql = "INSERT INTO pw_type_eff(champ1, champ2, champ3) VALUES('{$tab[0]}', '{$tab[1]}', '{$tab[2]}')";] Comme j'ai écris le script, si je coche les 3 premières cases il enregistre dans les 3 champs.
Si je coche les cases b,c,d, le champ 1 est vide et il enregistre dans les champs 2 et 3.
Si je coche les cases c,d,e, les champs 1,2 sont vide et il enregistre dans le champ 3.
Si bien que si je coche les cases après la 3ème les champs sont vide.
Comment faire pour que quelque soit le nombre et l'emplacement des cases cochées elles soit enregistrées dans les champs de la base.
Encore merci pour votre aide.