Bonjour,
je suis embêter avec une mise à jour de cases à cocher.
ça fait un bon moment que je fais des maj sur les boutons radio, listes déroulantes... mais le problème des cases à cocher vient d'être posé et tout s'embrouille dans ma tête ...
Je vous explique rapidement.
J'ai une table ABONNE, SEGMENT et LIENSEGMENT
Un abonné peut être associé à plusieurs segment d'où le fait la table LIENSEGMENT qui rassemble l'ensemble de lien entre ces 2 tables.
LIENSEGMENT(num_lien, num_abo, num_seg);
J'arrive à afficher les segments liés à l'abonné mais comme je vous le disais pour mettre à jour c'est une autre paire de manche !
J'avais penser à la solution de tout effacer et tout réécrire mais bon pas très optimiser je trouve.
Voici ce que j'avais fait...merci de votre aide
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 $req_seg = mysql_query("SELECT num_seg FROM segment"); $req_lien_seg = mysql_query("SELECT num_seg FROM liensegment WHERE num_abo = ".$_GET['idabo']." ORDER BY num_seg"); $nb_seg = mysql_num_rows($req_seg); $nb_lien = mysql_num_rows($req_lien_seg); for ($i=1;$i<=$nb_seg;$i++) // on parcourt le nb de segment enregistré dans la base pour connâitre le nombre de boucle à faire. { for ($p=1;$p<=$nb_lien;$p++) // on parcour le nb de lien enregistré avec cet utilisateur { if ($_POST['checkbox'.$i.''] <> mysql_result($req_lien_seg,($p-1),0)) //si on trouve la checkbox cochée associée à l'abo { // delete } if ($_POST['checkbox'.$i.'']) { // insert } } }
Partager