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

Langage PHP Discussion :

UPDATE MySQL-PHP-PDO sur différentes Tables en même temps


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut UPDATE MySQL-PHP-PDO sur différentes Tables en même temps
    Bonjour.

    Par exemple, pour sélectionner des données d'un seul Utilisateur avec SELECT dans deux différentes tables tbl_users pour u, et tbl_address pour a, comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $client_number = $_GET['client_number'];
    $sql = "SELECT u.id, u.fname, u.lname, u.national_id, u.client_number, u.email, u.phone, u.profile_pic, a.address, a.id AS acc_id
               FROM tbl_users u, tbl_address a WHERE client_number = ? AND u.id = a.user_id";
    Déjà, je l'ai fais sans même être sûr car je voulais finir de coder avant d'essayer.

    Mais, je suis bloqué quand j'essaie d'écrire la requête UPDATE pour mettre à jour les même données que je viens de récupérer via le SELECT ci-dessus.

    Comment faire un UPDATE avec jointure sachant que tous les champs du même utilisateur à mettre à jour ne sont pas dans la même table ???

    Merci de m'aider.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Comme pour un SELECT, tu peux faire un JOIN dans ton UPDATE. Cela permet de mettre à jour plusieurs tables d'un coup.

    https://dev.mysql.com/doc/refman/8.0/en/update.html

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Et comment le faire dans mon cas ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = "UPDATE tbl_users, tbl_address SET fname=?, lname=?, national_id=?, phone=?, email=?, 
    				address=?, profile_pic=? WHERE client_number = ? 
    				AND tbl_users.id = tbl_address.user_id";
    Pensez-vous que ceci serait correcte ???

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Oui ça devrait être bon.

    Utilise la syntaxe avec le INNER JOIN ... ON en toutes lettres, c'est plus clair.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Je ne sais pas comment utiliser INNER JOIN dans mon cas. Mais voici ce que j'ai fait de nouveau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = "UPDATE tbl_users, tbl_address SET tbl_users.fname=?, tbl_users.lname=?, tbl_users.national_id=?, tbl_users.phone=?, 
    				tbl_users.email=?, tbl_address.address=?, tbl_users.profile_pic=? WHERE client_number = ? 
    				AND tbl_users.id=tbl_address.user_id";
    Qu'en pensez-vous ???

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    La même chose que tout à l'heure

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok merci à vous.

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

Discussions similaires

  1. Requête sur 2 tables en même temps
    Par DelphiCool dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/10/2008, 21h18
  2. Recherche sur plusieurs tables en même temps
    Par Zouzou1er dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/10/2007, 09h40
  3. delete sur 3 tables en même temps
    Par sosophie dans le forum SQL
    Réponses: 2
    Dernier message: 07/08/2007, 16h02
  4. Requête sur deux tables en même temps
    Par will89 dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/04/2006, 11h01
  5. Comptez sur deux tables en même temps
    Par genova dans le forum Langage SQL
    Réponses: 12
    Dernier message: 13/09/2004, 18h58

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