Beug php pour une requete delete!!!

Résolu
karasnake Messages postés 27 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 16 juin 2009 - 3 juin 2008 à 16:51
karasnake Messages postés 27 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 16 juin 2009 - 4 juin 2008 à 14:36
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:
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;
    }

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

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
plus précisement ici

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;

    }
il n'entre pas dans le if mais que le else et m'affiche ma requete exemple de requete renvoyer

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

2 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 juin 2008 à 19:00
salut

tu peux afficher le mysql_error () ca aiderait a debuger.
3
karasnake Messages postés 27 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 16 juin 2009
4 juin 2008 à 14:36
c'est bon j'ai trouver l'erreur c'etait a cause d'une clef secondaire dans la table groupe -_-'  comme quoi !! merci pour le coup de pouce!
0
Rejoignez-nous