Jointure en php

elodie -  
 sedhiara -
Salut,

Je voudrai savoir comment on fait 1 jointure entre 2 tables en php
car ce que je fé moi, ca marche pas:

$sql="Select nomclient, nomproduit from Client, Produit
where Client.refclient=Produit.refclient";

Merci
A voir également:

9 réponses

sedhiara
 
pour elodie

utilise ceux ci:
SELECT nomclient,nomproduit
FROM Client INNER JOIN Produit
ON Client.refclient=Produit.refclient
WHERE //votre condition pour ceet requete


test le après
3
minja
 
j'ai un forum a faire en php postgresql j'ai petit soucis j'ai deux table sql l'une identifiant et nom du sujet et l'autre identifiant du sujet et message j'aimerai pouvoir sortir le message de la deuxieme table en connaissan le nom du sujet tout cela en php j'ai essayé cela : $query = "SELECT message FROM Sujet, Message WHERE num_sujet = num_sujet";
ca marche pas donc je c plus koi faire
2
Bobinours Messages postés 2903 Statut Membre 504
 
Bonjour :)

Tu dois avoir une ambigüité dans ta requête. Essaie de préfixer les champs avec les tables comme ceci :
$query = "SELECT message FROM Sujet, Message WHERE Sujet.num_sujet = Message.num_sujet";
0
orel_it Messages postés 24 Statut Membre 2
 
"$sql="Select nomclient, nomproduit from Client, Produit
where Client.refclient=Produit.refclient"; "


Dans la requete il y a une selection particulière de colonnes (nomclient, nomproduit ) et ensuite il y a une jointure sur refclient or reclient n'a pas été selectionné.

$sql="Select nomclient,refclient, nomproduit from Client, Produit
where Client.refclient=Produit.refclient";

ou

$sql="Select * from Client, Produit
where Client.refclient=Produit.refclient";

Le sujet date mais si ça peut aider d'autres personnes.
2
sha Messages postés 9 Statut Membre
 
Bah la syntaxe général est bonne mais t'oublie les majuscule la.
Faut faire
SELECT nomclient, nomproduit FROM Client, Produit
WHERE Client.refclient=Produit.refclient

Et la ca devrait marcher.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bobinours Messages postés 2903 Statut Membre 504
 
sha : les commandes SQL sont insensibles à la casse. Les majuscules ne devrait avoir aucun rôle à jouer là-dedans.
En revanche, les noms de tes champs et tables doivent avoir la bonne casse.

elodie : La syntaxe de ta requete est correcte. Exécute-la et affiche les erreurs que tu as :

$sql = "SELECT nomclient, nomproduit FROM Client, Produit
WHERE Client.refclient=Produit.refclient";
print $sql."<br>";
$res = mysql_query($sql) or die ("Erreur : ".mysql_error());

0
filipo
 
Bobinours... comment peux-tu savoir qu'elodie utilise MySQL????
(ca peut tout aussi bien etre Sybase, Postgres ou interbase pour ne citer qu'eux ;-)
0
filipo
 
comment on fait 1 jointure entre 2 tables en php

La réponse est : IMPOSSIBLE !

Tu confonds PHP et SQL selon moi ;)

Pour t'aider a résoudre ton probleme, il faut que tu spécifies quel SGBD tu utilises sinon cest impossible de taider a écrire ta requete SQL !
0
elodie
 
filipo:Bobinours c que j'utilise mysql car ce n'est pas la premiere fois que je lui demande conseil. c tout.
Et pour reprendre ta réflexion, "Tu confonds PHP et SQL selon moi ;) ", c que moi je me sui comprise et je c trè bien la diférence qu'il y a. T'auré pus me demandé une explication aulieu de monté sur té grand chevo :)

Bobinours: Merci, ta propposition ma aidé et g réussi a faire fonctionner ma requête.
Mé g toujours pa compris pourkoi elle marché pas hier mé ce matin oui. Peu etre qu'1 nuit de sommeil ma fé du bien.
0
Bobinours Messages postés 2903 Statut Membre 504
 
filipo : voilà :-)

Ceci dit, elodie, que tu te comprennes, c'est bien, mais que les autres te comprenne, c'est mieux :o)


pourkoi elle marché pas hier mé ce matin oui.

Aaaaah... Les mystères de l'informatique... :-)
0
Sha
 
"les commandes SQL sont insensibles à la casse. Les majuscules ne devrait avoir aucun rôle à jouer là-dedans"

Euh, je suis désolé mais, en SQL sous oracle, les commandes SQL sont très sensibles a la casse.
0