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 :

Jointures entre 3 base de données


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Jointures entre 3 base de données
    Bonjour,
    j'ai fais plusieurs recherche qur le net, mais pas trouvé grand choses, donc je post ici, voila j'ai réussi à connecté 3 base de données, mais je coince pour faire une jointure entre les 3 base de données:
    Voila mon schéma :
    - J'ai une base de donnée avec mes utilisateurs, une base avec mon forum, et une base avec mon site. Je voudrais faire une jointure par exemple entre deux tables de deux base de données différentes, mais qui on le même IDMembre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $DBSite=mysql_connect('localhost','root','');
    $DBForum=mysql_connect('localhost','root','',true);
    $DBUser=mysql_connect('localhost','root','',true);
     
    mysql_select_db('userslyonnais4ever',$DBUser);
    mysql_select_db('forumlyonnais4ever',$DBForum);
    mysql_select_db('sitelyonnais4ever',$DBSite);
     
    $req_user = mysql_query('SELECT * FROM testuser LEFT JOIN forumtest ON testuser.IDMembresUsers = forumtest.IDMembresForum
    						 LEFT JOIN testsite ON testuser.IDMembresUsers = testsite.IDMembresSite') or die(mysql_error());
     
     
    ?>
    Il me répond Table 'userslyonnais4ever.forumtest' doesn't exist, donc j'en suppose qu'il ne prends en compte que userslyonnais4ever alors que je voudrait qu'il utilise les 3.
    Est ce possible ou alors il faut faire plusieur requête en indiquant le link, à chaque fois.

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Une question simple (pour ne pas dire idiote ) es tu certain d'avoir besoin de 3 bases? 3 tables serait peut être plus adapté.
    J'ai bien dis c'est peut être une question...

  3. #3
    Membre averti Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Points : 332
    Points
    332
    Par défaut
    slt...

    N´etant pas pro du php...

    tu prend toujours le root pour faire liaison a localhost...certe?

    alors pourquoi pas faire les liaisons sur le sql?

    du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select t1.XXX,t1.YYYY,tX.AAA,tY.BBBb from base1.table1 as t1
    left join base2.tableX as tX.....  
    left join base3.tableY as tY.....

  4. #4
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Ton problème m'interesse car je pense que je vais avoir le même type de questionnement bientôt.
    A bien y réfléchir, je pense qu'il y a un risque dans la réalisation de ta requête (mis à part ce que j'ai pu écrire dans le message précédant qui reste vrai).
    Si tu travail sur un serveur local au serveur http/php/MySQL, je ne vois vraiment pas l'intérêt de davoir 3 bases. Mis à part si tu as des contraintes vraiment spécifiques.

    Si tu dois au final avoir des bases distribuées sur plusieurs machines. Je pense que tu vas (nous allons) avoir des problèmes. Car le serveur Apache/php qui va générer la requête ne saura pas gérer la connexion avec les machines distantes.

    Je ne sais pas si je me suis bien fait comprendre?

    Une solution, serait de passer par des drivers ODBC je pense.

    Donne moi ton avis sur le sujet cela m'interesse.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Désolé pour le retard de la réponse, problème d'ordi à réinstaller,
    riete pour répondre à ta question, c'est pour éviter les charges sur le serveur, car je prépare un énorme projet, le localhost, c'est pour la phase de développement, les bases réelles sont sur 3 bases différentes, de serveurs différent.
    jota5450, j'essaierai ton exemple, je te retiens au courant

    Je vous retient au courant plus rapidement que la dernière fois

    Cordialement

  6. #6
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    question bête :
    est ce que l'utilisateur qui se connecte a la bdd à l'autorisation d'accéder aux 3 bases ???

Discussions similaires

  1. [MySQL] lien entre deux bases de données
    Par joshyeha dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/09/2006, 13h12
  2. liaison entre deux bases de données access
    Par questions dans le forum Access
    Réponses: 1
    Dernier message: 09/06/2006, 13h26
  3. [Conception] connexion entre 2 bases de données dans 2 noms de domaines
    Par kagura dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 23/03/2006, 12h53
  4. Faire un lien entre deux bases de données
    Par pierce dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/01/2006, 21h29
  5. Réponses: 5
    Dernier message: 30/11/2005, 16h41

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