probleme de requete, ORDER BY

VaN
Mammouth du PHP | 1107 Messages

24 janv. 2006, 19:24

Bonjour,
$sql_topic = 	"SELECT topic_id, topic_post_id, post_title
					FROM frm_topics, frm_posts
					WHERE topic_forum_id = '".$_GET['forum_id']."'
					AND frm_topics.topic_post_id = frm_posts.post_id
					ORDER BY topic_last_post_id DESC
					LIMIT ". $debut .", ". $nb_nouv_par_page ."";
Cette requete me permet de sortir mes topics triés : le topic qui a reçu un commentaire le plus recemment est placé en premier, celui qui a reçu un commentaire en dernier est placé en dernier. Mais j'aimerais rajouter une condition à cela : il faudrait egalement que les topics dont le champ 'topic_title' est egal à 0 soient placé en premier, et ceux egal a 1 ensuite. et cette condition doit etre au dessus de celle de l'ordre des commentaires.

(pour imager, c'est le systeme de topic 'sticky' ou 'normal')

Puis je faire cela en une seule requete, ou dois je faire une requete pour les topics sticky, et une pour les topics normaux ?

Mammouth du PHP | 19672 Messages

24 janv. 2006, 19:27

Non, rajoute simplement un élément dans la clause ORDER BY avant l'élément actuel:
$sql_topic =     "SELECT topic_id, topic_post_id, post_title
                    FROM frm_topics, frm_posts
                    WHERE topic_forum_id = '".$_GET['forum_id']."'
                    AND frm_topics.topic_post_id = frm_posts.post_id
                    ORDER BY topic_title ASC, topic_last_post_id DESC
                    LIMIT ". $debut .", ". $nb_nouv_par_page ."";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: