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