Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2007, 22h47   #1
Invité régulier
 
Inscription : mai 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 20
Points : 6
Points : 6
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 :
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
romanus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h00   #2
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
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...
riete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h09   #3
Membre éclairé
 
Avatar de jota5450
 
Jota Alves
Inscription : janvier 2006
Messages : 263
Détails du profil
Informations personnelles :
Nom : Jota Alves
Âge : 36

Informations forums :
Inscription : janvier 2006
Messages : 263
Points : 303
Points : 303
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 :
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.....
jota5450 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2007, 17h21   #4
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
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.
riete est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 23h13   #5
Invité régulier
 
Inscription : mai 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 20
Points : 6
Points : 6
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
romanus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 14h24   #6
Membre confirmé
 
Avatar de UNi[FR]
 
nico.
Inscription : juin 2002
Messages : 327
Détails du profil
Informations personnelles :
Nom : nico.
Âge : 28

Informations forums :
Inscription : juin 2002
Messages : 327
Points : 294
Points : 294
Envoyer un message via MSN à UNi[FR]
question bête :
est ce que l'utilisateur qui se connecte a la bdd à l'autorisation d'accéder aux 3 bases ???
__________________
Gnarf !
www.uni-d.net (Wamp MSS) - Mon C.V. - Mon Blog
.NET {VS 2010 && LINQ} && PHP {(Zend Studio || Notepad++) && (WAMP || WAMP mss)} && Multimédia {Flash CS5 && Photoshop CS5}

Pensez au TAG
UNi[FR] est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h01.


 
 
 
 
Partenaires

Hébergement Web