Récupération d'id ne se fait pas [Résolu] - PHP - Programmation
Marsh Posté le 17-07-2015 à 21:48:22
Pour qui en aura besoin:
La requête ne doit pas être faite avec un * car elle prendra en compte av.id_article et au final c'est cette valeur là qui me gênait dans le bon fonctionnement de mes appels
Marsh Posté le 20-07-2015 à 16:01:26
Manifestement, tu n'as pas étudié les bases du SQL.
SELECT ar.id_article, ar.titre, ar.description, av.id_avis, av.note, av.commentaire FROM article ar LEFT JOIN avis av ON ar.id_article = av.id_article
Ca, ça va te donner tous les avis d'un article, avec ça chaque fois, des infos sur l'article. Donc, il y aura autant de lignes que d'avis et donc de fois où tu vas récupérer les infos sur un article. C'est normal. Si tu veux que les articles, ben autant ne pas faire de jointure sur avis.
Après, tu peux faire un truc du genre :
SELECT ar.id_article, ar.titre, ar.description, av.id_avis, av.note, av.commentaire FROM article ar LEFT JOIN avis av ON ar.id_article = av.id_article GROUP BY ar.id_article
Là, t'auras plus qu'une ligne pour chaque article. Mais du coup, t'auras pas tous les avis, juste un seul (et attention aux infos concernant les avis, le SGBD va faire un regroupement "bizarre" des champs de la table avis).
Conclusion : tu veux qu'elle fasse quoi ta requête SQL ?
Edit : cours de Mysql sur openClassroom : https://openclassrooms.com/courses/ [...] ointures-1
Marsh Posté le 17-07-2015 à 15:32:22
Bonjour,
Je fais un site ecommerce en PHP/ MySQL, HTML5/CSS3 pour la soutenance de fin de formation.
Donc bon problème se situe au niveau de ma requête SQL:
J'ai 2 tables:
Article : id_article, id_promo, titre, categorie, description, photo, marque, reference, materiau, coloris, dimensions, poids, fabrication, garantie, prix, stock.
Avis: id_avis, id_membre, id_article, commentaire, note, date.
Ma requête SQL me donne les articles mais ne me donne pas l'id_article d'un article qui n'a pas encore une note ( ou une entrée dans la table avis ).
Ne connaissant pas trop cette façon de faire des requêtes en SQL ( car elle m'a été donné dans un forum mais je ne comprends pas cette méthode ) je n'arrive pas à voir où est le soucis et lorsque je test à ma façon, la requête ne me donne soit plus rien soit 3 fois le même article avec 3 notes différentes...
Voici la requête :
Merci pour votre aide.
Message édité par chrispc le 17-07-2015 à 21:49:04
---------------
L'écoconception n'est pas négociable - Topic habitats de demain : https://tinyurl.com/y5h2mjx7