IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

delete from inner join sous php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 171
    Par défaut delete from inner join sous php
    Bonjour,
    voici mon problème peut-on executer un inner join avec un delete?

    voila le code


    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
    case "supprconfirm" :  
     
    if (!isset($_GET['num_dossier'])){// cas ou le dossier n'a pa été passé en parametre malgre laction 'supp'
              echo "Erreur sur la page. Veuillez retourner à la page :";
              echo "<br><a href=CFA_GestDossier.php>Liste des dossiers</a><br>\n";
              }
     else {                         
               $req = "DELETE FROM dossier WHERE NUM_DOSSIER =                                                    '".$_GET['num_dossier']."';";
     
               $req2= "DELETE FROM sous_dossier WHERE NUM_DOSSIER = '".$_GET['num_dossier']."';";
     
               $req3= " DELETE FROM inscription_participant
               INNER JOIN SOUS_DOSSIER ON ( INSCRIPTION_PARTICIPANT.NUM_SOUS_DOSSIER = SOUS_DOSSIER.NUM_SOUS_DOSSIER )
               INNER JOIN DOSSIER ON ( SOUS_DOSSIER.NUM_DOSSIER = DOSSIER.NUM_DOSSIER )
               WHERE DOSSIER.NUM_DOSSIER = '".$_GET['num_dossier']."'";
     
               $res = ExecuteRequete($req,$connexion);
               $res3 = ExecuteRequete($req3,$connexion);
               $res2 = ExecuteRequete($req2,$connexion);
               if ($res){
                    echo "Suppression définitive du dossier<br><br>\n";
                    echo "<a href=CFA_GestDossier.php>Liste des Dossiers</a><br>\n";
               }
               else {
                       echo "Erreur lors de la suppression<br>Veuillez retourner à la page précédente : <a href=CFA_GestDossier.php>Liste des dossiers</a><br>\n";
               }
     }
     
      break;

    La requête sql nous ramene une erreur de syntaxe.
    Help tous le monde merci d'avance.

    Le inner join marche bien avec un select mais pas avec un delete.
    Ou est le problème svp.

    A tte

    Répondez vite svp.

  2. #2
    Membre éclairé Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Par défaut
    Cette requête doit fonctionner (en tout cas sous mysql 5):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $req = "
    DELETE FROM dossier as D, sous_dossier as SD, inscription_participant as IP
    USING dossier as D, sous_dossier as SD, inscription_participant as IP
    WHERE D.NUM_DOSSIER = '".$_GET['num_dossier']."' 
    AND D.NUM_DOSSIER = SD.NUM_DOSSIER 
    AND SD.NUM_SOUS_DOSSIER = IP.NUM_SOUS_DOSSIER;"
     
    $res = ExecuteRequete($req,$connexion);

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Par défaut
    Commence par exécuter ta $req3 et ensuite tu pourras faire ta $req et ta $req2!! Si tu supprimes tes jointures avant, ça ne risque pas de marcher!!

Discussions similaires

  1. [1.x] DELETE et INNER JOIN
    Par jeronimo83 dans le forum Symfony
    Réponses: 3
    Dernier message: 26/04/2010, 10h47
  2. [Doctrine] DELETE et INNER JOIN
    Par jeronimo83 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/04/2010, 14h51
  3. [MySQL] DELETE et INNER JOIN
    Par jeronimo83 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 23/04/2010, 11h54
  4. Inner Join sous SQL
    Par faressam dans le forum Développement
    Réponses: 10
    Dernier message: 17/04/2008, 18h10
  5. DELETE FROM Table_a .. JOIN (SELECT Table_a) ?
    Par ctobini dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/02/2008, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo