|
|
|
|
Bonjour tout le monde,
Depuis le temps que je consulte de forum de CCM, je me lance dans une question qui me turlupine !
Je bricole avec PHP/MYSQL.
J'ai 2 tables SQL, soit la table commentaires et la table membre.
--> http://images2.hiboox.com/images/4707/cszvapsb.jpg
--> http://images2.hiboox.com/images/4707/2taend7z.jpg
commentaires (id, id_sortie, auteur_id, date, com)
membre (id, prenom)
Ma requète est simple, mais je n'y arrive pas :(
Je souhaite afficher tout les commentaires (com) WHERE id_sortie = 1.
Les commentaires s'affichent avec un auteur, la date, et le commentaire à proprement parlé.
Evidemment, dans la table commentaires, il n'y a que auteur_id, et pas le prenom de l'auteur.
Le prénom de l'auteur est stocké dans la table membre.
Lorsque je fais un INNER JOIN entre commentaires et membre, avec comme clé auteur_id, j'ai uniquement les messages de auteur_id qui s'affichent, et non les messages WHERE id_sortie = 1.
select id, auteur_id, date, com, prenom FROM commentaires WHERE id_sortie LIKE '1' INNER JOIN membre ON commentaires.auteur_id = membre.id ORDER BY id ASC
J'espère avoir été compréhensible !
Merci de votre aide pour m'aiguiller sur le bon chemin !
Mixa !
Configuration: Windows XP Firefox 2.0.0.9 / IE6
Merci pour ta réponse ShaBoo !
|
"RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id "
SELECT id, auteur_id, date, com FROM commentaires WHERE id_sortie = '1' (merci Polux ;p) "Les commentaires s'affichent avec un auteur, la date, et le commentaire à proprement parlé. Evidemment, dans la table commentaires, il n'y a que auteur_id, et pas le prenom de l'auteur. Le prénom de l'auteur est stocké dans la table membre." "RQ = commentaires.auteur_id n'a pas forcément d'équivalence dans auteur.id" Et c'est là que le bat blesse, car il y a de la contradiction dans ce que tu veux !!! |
En effet, je voulais dire membre.id :oops: (merci ShaBoo pour ton oeil attentif)
|
Cette requete renvoie tt les enregistrements qui ont une correspondance entre commentaires et membre
SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE and c.auteur_id = m.id ORDER BY c.id ASC "alors il faut faire l'équivalance avec la table membre pour retrouver le prénom de cet id ... " SELECT id as VarPHP2 FROM membres WHERE prenom = VarPHP VarPHP est la variable qui stockera le prenom saisi sur ta page Si ta requete te ramene quelque chose c'est que l'utilisateur est enregistré. Ensuite, tu recupéres l'enregistrement adequat : SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE c.auteur_id = m.id c.auteur_id = VarPHP2 ORDER BY c.id ASC Sinon tu as ceci : SELECT c.id, auteur_id, date, com, prenom FROM commentaires c, membres m WHERE c.auteur_id = m.id c.auteur_id = (SELECT id FROM membre WHERE prenom = VarPHP) ORDER BY c.id ASC Je te laisse le soin de coder en PHP, ce n'est pas trop mon fort ;p |