Bonjour tout le monde
J'ai un souci avec l'utilisation de Foreach.
J'ai deux Tables,
Une qui représente une liste de membres.
Une autre qui enregistre la présence lors d'évènements de certaines personnes parmi ces membres.
Un évènement ne peut compter que 6 personnes maximum.
Cette dernière table prend donc la forme :
event | present1 | present2 | present3 | present4 | present5 | present6
Lorsque je veux ajouter un évènement à ma table qui répertorie les présences, je souhaite à n'avoir qu'a cocher les membres présents à partir d'une liste de "checkbox".
Voici la forme que prend mes "checkbox" :
Voici mon code avec le Foreach :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <input type="checkbox" name="fieldPresents[<?php echo $fa["name"]; ?>]" value="<?php echo $fa["name"]; ?>">
Et voilà, comme ceci, ça fonctionne... à moitié...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (isset($_POST['fieldPresents']) && !empty($_POST['fieldPresents'])) { $presents = $_POST['fieldPresents']; foreach ($presents as $val) $saveit = mysql_query("INSERT into TABLE (event, present1, present2, present3, present4, present5, present6) values ('".$_POST["fieldEvent"]."', '$val', '$val', '$val', '$val', '$val', '$val')") or die(mysql_error()); } ?>
Si par exemple je coche les présents : Jean, Paul et Jacques, je vais me retrouver avec trois nouvelles insertions, le prénom Jean d'inscrit dans toutes les cases present1 | present2 | pres... | present6 de la première insertion, Paul inscrit partout dans la seconde insertion et Jaques partout dans la troisième.
Hors dans ce scénario, ce que je souhaiterais, c'est qu'il n'y est qu'une insertion avec :
Jean dans la case present1
Paul dans present2
Jaques dans present3
et present4, present5 et present6 vide.
Voilà, si quelqu'un à une idée SVP
PS : En relisant mon post, je comprends qu'en faisant comme ça je me retrouve avec une valeur dans toutes les case "present2, mais je ne comprend toujours pas pourquoi plusieurs insertions.
Partager