bonjour,
Je viens vers vous car je fais actuellement face à un beug que je trouve incompréhensible.
Je dois supprimer des élements de la base de données mais une de mes requete ne fonctionne pas. je m'explique
Dans ma base j'ai les tables suivantes: Utilisateur , groupe et droit, un utilisateur appartient a un groupe et un groupe a des droits
lorsque je dois supprimmer un groupe je dois d'abord supprimer les droit de celui-ci j'ai crée une classe deleteData dans laquel je met toute mes methodes de suppréssion .
voici les methodes de la classe deleteData que j'utilise:
dans la page qui recois les informations quz j'ai besoin j'ai ce code qui me permet de supprimer mon groupe et son champs droit:
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
27
28
29
30
31
32
33
34
35
36 function selectIdDroit($idGroupe) { $rsql="select ID_DROIT from groupe where ID_GROUP=$idGroupe"; $resultat=mysql_query($rsql); if($resultat) { $data=mysql_fetch_assoc($resultat); return $data['ID_DROIT']; } else return $rsql; } function droit($idGroupe) { $idDroit=$this->selectIdDroit($idGroupe); $sql="delete from droit where ID_DROIT=$idDroit"; $res=mysql_query($sql); if($res) { echo "Suppréssion du droit éffectué avec succès!"; } else return $sql; } function groupe($idGroupe) { $rsql="delete from groupe where ID_GROUP=$idGroupe"; $resultat=mysql_query($rsql); if($resultat) { echo "Suppréssion du groupe éffectué avec succès!"; } else return $rsql; }
ici je crée bien mon instance et je fais appel a mes methodes je commence par recuperer l'identifiant de mon droit puis je le supprime et enfin je supprime mon groupe mais lorsque j'execute ce code il ne supprime pas mon droit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (isset($_POST['listeGroupe'])) { $delete= new deleteData; echo $delete->droit($_POST['listeGroupe']);//suppréssion du droit associé au groupe en premier (foreign key) echo $delete->groupe($_POST['listeGroupe']);//puis suppréssion du groupe }
plus précisement ici
il n'entre pas dans le if mais que le else et m'affiche ma requete exemple de requete renvoyer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function droit($idGroupe) { $idDroit=$this->selectIdDroit($idGroupe); $sql="delete from droit where ID_DROIT=$idDroit"; $res=mysql_query($sql); if($res) { echo "Suppréssion du droit éffectué avec succès!"; } else return $sql; }
delete from droit where ID_DROIT=28
Et lorsque j'execute la requete directement sous phpmyadmin(je travail en local) la requête fonctionne!!!!
la requete precedente fonctionne bien puisque je recois l'identifiant et le groupe et supprimmé il n'y a que le droit qui ne fonctionne pas.
Si quelqu'un peut m'aider!!!!
Partager