Posez votre question Signaler

Jointure en php

elodie - Dernière réponse le 4 oct 2010 à 07:44
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
Lire la suite 

Jointure en php »

11 réponses
Réponse
+1
moins plus
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
Bobinours - 14 jun 2007 à 20:38
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";
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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());

filipo - 20 fév 2003 à 08:51
Bobinours... comment peux-tu savoir qu'elodie utilise MySQL????
(ca peut tout aussi bien etre Sybase, Postgres ou interbase pour ne citer qu'eux ;-)
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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... :-)
Ajouter un commentaire
Réponse
+0
moins plus
"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.
Ajouter un commentaire
Réponse
+0
moins plus
"$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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « Jointure en php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook