Bonjour,
Je suis en train de créer un forum, mais j'ai un petit soucis avec les jointures
J'ai une table "user", "forum", une "topic", et une 4ième "message"
Le but est d'afficher la liste des topics en indiquant titre, date de création et créateur, ainsi que la date du dernier message et du posteur.
La table topic est structurée ainsi : id (du topic), user (id correspondant à la table "user"), dh (dateheure de création), nom.
La table message utilise aussi l'id de l'user, et il y a un attribut "topic" qui contient l'id du topic auquel il appartient.
Voici ma requete :
Plusieurs problèmes apparaissent : j'ai pas réussis a obtenir le pseudo du créateur du topic (topic.user) en même temps que le pseudo du dernier posteur, et là, le pseudo du dernier posteur (lastuserpseudo) m'affiche celui du créateur... "mlastdh" correspond à la date d'envois du dernier message du topic...
Quelqu'un aurait-il une solution ^^ ?
Je suis en train de créer un forum, mais j'ai un petit soucis avec les jointures

J'ai une table "user", "forum", une "topic", et une 4ième "message"
Le but est d'afficher la liste des topics en indiquant titre, date de création et créateur, ainsi que la date du dernier message et du posteur.
La table topic est structurée ainsi : id (du topic), user (id correspondant à la table "user"), dh (dateheure de création), nom.
La table message utilise aussi l'id de l'user, et il y a un attribut "topic" qui contient l'id du topic auquel il appartient.
Voici ma requete :
SELECT `topic`.*, COUNT(`message`.`id`) AS `nb`, MAX(`message`.`dh`) AS `mlastdh`, `user`.`pseudo` AS `lastuserpseudo`
FROM `topic`
LEFT JOIN `message` ON `topic`.`id`=`message`.`topic`
LEFT JOIN `user` ON `user`.`id`=`message`.`lastuser`
WHERE `topic`.`forum`=$forum
GROUP BY `topic`.`id`
ORDER BY `mlastdh` DESC
Plusieurs problèmes apparaissent : j'ai pas réussis a obtenir le pseudo du créateur du topic (topic.user) en même temps que le pseudo du dernier posteur, et là, le pseudo du dernier posteur (lastuserpseudo) m'affiche celui du créateur... "mlastdh" correspond à la date d'envois du dernier message du topic...
Quelqu'un aurait-il une solution ^^ ?