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
		   }
         }		   
    }