bonsoir,
il y a peu de temps plusieurs d'entre vous m'ont mis sur la voie pour arriver à recupérer des valeurs dans des checkbox.
L'application consiste à affilier des personnes à des groupes (basée sur 3 tables : "contact" stockant les personnes, "grp" stockant les groupes d'appartenance, "grp_contact" stockant l'affiliation des personnes aux groupes)
j'ai donc inserer dans un formulaire le script suivant (qui fonctionne) et qui me permet d'afficher grace à des checkbox, les groupes auxquels une personne est déjà affiliée...
... en vue de pouvoir modifier les affiliations à l'aide de la page "modif_inscr_grp2.php" suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php echo "<form action=\"modif_inscr_grp2.php\">\n"; echo "<input type=hidden name=\"id_contact\" value=$id_contact>\n"; //récuperation de tous les groupes $sql = "SELECT id_grp, nom_grp FROM grp ORDER BY nom_grp ASC"; $req = mysql_query($sql) or die(mysql_error().$sql); while($data = mysql_fetch_assoc($req)) { //On va voir si ce groupe est selectionné $sql = "SELECT * FROM grp_contact WHERE id_contact = $id_contact AND id_grp = ".$data['id_grp']; $req2 = mysql_query($sql) or die(mysql_error().$sql); $checked = mysql_num_rows($req2) > 0; //On affiche la checkbox echo '<div>'; echo '<input type="checkbox" name="grpsel[]" id="grpsel_'.$data['id_grp'].'" value="'.$data['id_grp'].'" '.($checked?'checked="checked"':'').' />'; echo '<label for="grpsel_'.$data['id_grp'].'">'.$data['nom_grp'].'</label>'; echo '</div>'; } echo "<input type=submit value=\"Modifier\">"; echo "</form>"; ?>
mais ca ne marche pas et mieux, ça m'efface toutes les valeurs!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php require_once("..."); mysql_select_db(...); $id_contact = $_GET["id_contact"]; $id_grp = $_GET["grpsel"]; $result=mysql_query("UPDATE grp_contact SET id_contact='$id_contact',id_grp='$id_grp' WHERE id_contact='$id_contact'"); if (!$result) { echo "La mise à jour a échoué. Essayez plus tard<br>"; } else { header('Location: contact_details.php?id_contact='.$id_contact.''); } mysql_close(); ?>
comment puis-je récupérer corectement les modifications ? Où sont mes erreurs ?
Partager