lien et where

thomas78000
Invité n'ayant pas de compte PHPfrance

04 sept. 2013, 13:17

Bonjour à tous,
je suis en train de créer un petit site marchand et j'ai un petit problème.

Quand je clique sur un produit je récupère l'id et ainsi j'ouvre ma page et j'affiche uniquement ce produit. Mais j'aimerais ajouter une jointure :
l.id, l.name,d.id d.ref FROM produits l LEFT JOIN reference d ON l.id = d.id
$produits = $DB->query("SELECT * FROM produits WHERE id=:id",array('id'=>intval($_GET['id'])));
echo $produits->name;
echo $produits->ref; // ce que j'aimerais voir avec la jointure
j'ai essayé de combiner les deux mais ça ne marche pas.
$produits = $DB->query("SELECT l.id, l.name,d.id d.ref FROM produits l LEFT JOIN reference d ON l.id = d.id WHERE id=:id",array('id'=>intval($_GET['id'])));
est ce que c'est possible? avez vous des conseils ou des réponses ?

Merci d'avance à tous

ViPHP
ViPHP | 2577 Messages

04 sept. 2013, 16:16

Par d'erreur flagrante.
Le mieux est de tester le code retour de la requête sql et d'afficher le message correspondant en cas d'erreur.

Mammouth du PHP | 790 Messages

04 sept. 2013, 18:12

Salut, au cas ou, le 1er code que tu propose, il manque certainement une virgule apres: l.id, l.name,d.id,

Edit: essaye comme ca pour voir
produits = $DB->query("SELECT 
							l.id   AS   id, 
							l.name AS   name,
							d.id   AS   id, 
							d.ref  AS   ref
						FROM produits  AS  l 
						LEFT JOIN reference AS d ON l.id = d.id 
						WHERE id=:id",array('id'=>intval($_GET['id'])));
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.