Hé les gars J'ai une requête qui trouve actuellement le dernier commentaire pour chacun des sujets d'un utilisateur, puis ordonne les sujets selon l'horodatage de ce commentaire. Ce que je veux faire, c'est développer l'utilisation de cette requête et imprimer le dernier commentaire pour chaque sujet. Le problème avec cette requête est que, bien qu'elle ordonne les sujets correctement, elle imprime des commentaires apparemment aléatoires pour chaque sujet. J'essaye d'implémenter une sous-requête mais je ne suis pas sûr de savoir comment l'aborder. Je pensais que je devais en quelque sorte utiliser cette requête pour obtenir les commentaires. Si quelqu'un a des idées, je l'apprécierais vraiment.Besoin d'aide pour une sous-requête/groupe/commande (obtenir le dernier commentaire pour chaque sujet commandé)
Voici ce que je pense que je dois ajouter
SELECT * FROM comments where topic_id='$topic_id' ORDER BY timestamp DESC LIMIT 1
Voici la requête que je dois modifier
SELECT topic.topic_title, topic.content_type, topic.subject_id, topic.creator, topic.description, topic.topic_id,comments.message,comments.user
FROM comments
JOIN topic ON topic.topic_id = comments.topic_id
WHERE topic.creator = '$user' AND comments.timestamp > $week
GROUP BY topic_id ORDER BY MAX(comments.timestamp) DESC
fonctionne comme un charme Bill, merci. Vous l'avez même fait sans une sous-requête qui, d'après ce que je comprends, peut avoir des problèmes de performance! En ce qui concerne la suggestion (?), Je comprends qu'ils sont utilisés dans les déclarations préparées. Je prévois de remplacer toutes mes déclarations mysql par des déclarations préparées mysqli, avez-vous de bonnes suggestions de références? – Scarface
Je préfère utiliser PDO, l'utilisation des paramètres est beaucoup plus simple que mysqli. Ce n'est pas si difficile, il y a de bons exemples dans les docs, par ex. http://php.net/manual/fr/pdo.prepare.php –
Merci encore Bill. – Scarface