|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2008 Messages : 8 ![]() |
Bonjour,
je suis en train de créer un forum très simple (discussions, et pour chaque fil de discussions des commentaires) je souhaite afficher une liste des fils de discussions triés par date descendante, et spécifier le nb de commentaires et le dernier commentaire déposé par ......... le ........... j'ai deux tables simples Mysql DISCUSSIONS id_sujet - nom - message - date_discussion COMMENTAIRES id_commentaire - id_sujet - message - date_commentaire - id_user j'ai cette requete : Code :
cela marche bien, sauf que le lastcomdate et lastcomuser donne les infos du premier commentaire déposé et pas le dernier. Y aurait il une clause à rajouter pour que ces infos soient prises pour le dernier commentaire ? (date_commentaire DESC ) j'ai essayé en rajoutant un ORDER BY c.date_commentaire DESC, mais cela ne marche pas. Merci d'avance pour votre aide. |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonjour,
MySQL ne possède pas contrairement à PostGreSQL par exemple de fonction de fenêtrage qui te seraient utiles dans ce cas de figure. Tu es condamné à trier en DESC tes données au préalable dans une sous requête afin d'obtenir ce que tu souhaites
__________________
Je ne réponds pas aux questions envoyées par mp |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Damien Inscription : juillet 2009 Messages : 50 ![]() |
Ca rejoint le problème que j'ai posé dans un post il y a un ou deux jours ; la seule méthode la plus efficace que j'ai trouvé, serait (dans ton cas) d'ajouter une colonne 'last_id_commentaire' dans la table 'discussions'. Ca permet de faire un JOIN dessus... (J'imagine que tu dois aussi récupérer les infos de l'utilisateurs dans une autre table)
Ca ne fait qu'une requête de plus à l'insertion |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com