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 dans deux tables différentes [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 21
    Par défaut DELETE dans deux tables différentes
    Bonjour,

    J'aimerai supprimer des enregistrements dans deux tables différentes mais avec mes requêtes actuelles, je supprime bien dans la première table emailing où sont enregistrés tous mes emailings à faire partir mais je supprime l'intégralité des enregistrements dans la table tbl_emails qui lui est associée.

    La table emailing me permet d'enregistrer les infos de l'emailing et de lui attribuer un code_emailing que l'on retrouve dans la table tbl_emails.

    La table tbl_emails me permet d'enregistrer les adresses emails des gens avec un code_emailing associé pour les faire partir.

    En fait, je souhaite supprimer tous les emails dans tbl_emails qui correspondent au code_emailing dans emailing.



    Voici mon code de suppression :

    Code php : 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
     
    <?php
     
    include('connect.php');
     
     
    if(!empty($_GET['page'])) {
     
    	$id = $_GET['page'];	
     
     
    	$sql = "DELETE FROM emailing WHERE id=$id";
    	mysql_query($sql);
     
    	$code_emailing=mysql_insert_id();
     
    	$sql2 = "DELETE FROM tbl_emails WHERE code_emailing = $code_emailing";
    	mysql_query($sql2);
     
    	$success = 'Emailing supprim&eacute; !';
     
    }
     
    ?>


    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Salut,

    te renvoie, comme son nom l'indique, le dernier id inséré. Or là, tu viens de le supprimer et non de l'insérer !

    Si ton champ "id" de ta table emailing correspond à ton champ code_emailing de ta table tbl_emails, il te suffit de prendre le même id passé en paramètre pour ta seconde requête :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql2 = "DELETE FROM tbl_emails WHERE code_emailing = $id";

    Par ailleurs, comme disent toujours les modos, l'utilisation de mysql_ est deprecated (devrait être supprimée). Passes plutôt par PDO, qui est plus sécurisé.

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 21
    Par défaut
    Merci pour ta réponse

    Je fais un DELETE dans ma première requête donc le insert_id ne sert à rien.
    Le problème est que j'ai remis mon code dans code_emailing dans la table_emails et pas l'id. Je vais changer ça pour que tout fonctionne.

    Merci encore et bonne journée

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    A ce moment, avant de delete ton emailing, récupère le code correspondant !

    Par contre, je ne comprends pas vraiment pourquoi se baser sur un code plutôt que l'id, vu qu'ils ont l'air d'avoir la même utilité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2009, 12h46
  2. Réponses: 10
    Dernier message: 17/04/2009, 17h19
  3. Réponses: 2
    Dernier message: 10/04/2009, 14h34
  4. [MySQL] Insérer dans deux tables différentes
    Par nita2006 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 21/01/2008, 12h47
  5. données dans deux tables différentes
    Par [Hugo] dans le forum Langage SQL
    Réponses: 9
    Dernier message: 09/11/2007, 12h51

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