Bonjour,
J'ai codé mes propres forums en PHP en utilisant une base de données MySQL. Présentement, sur chaque forum, les sujets sont ordonnés par date de création, et non en fonction de la date du dernier message.
Je vais copier la structure de la table ici, et l'expliquer ensuite :
Le champ id contient l'id du message, le champs sujet contient le titre. Le champ "par" contient le pseudo de celui qui a posté, le champ "date" contient le timestamp. Le champ "message" contient le texte du post. Le champ "forum" contient l'id du forum auquel le sujet est associé. Nbre_vu, le nombre de fois que le post a été vu. "type" contient 0 si ce n'est pas un post-it, et 1 si c'en est un. "resolu" contient 0 si le sujet n'est pas résolu, 1 s'il l'est. "verrou" contient 0 si le sujet n'est pas verrouillé, 1 s'il l'est.Code:CREATE TABLE `forums_sujets` ( `id` mediumint(9) NOT NULL auto_increment, `sujet` varchar(255) NOT NULL default '', `par` varchar(255) NOT NULL default '', `date` varchar(255) NOT NULL default '', `message` longtext NOT NULL, `forum` mediumint(9) NOT NULL default '0', `nbre_vu` mediumint(9) NOT NULL default '0', `type` int(1) NOT NULL default '0', `resolu` int(1) NOT NULL default '0', `verrou` int(1) NOT NULL default '0', `msg_parent_id` mediumint(9) NOT NULL default '0', PRIMARY KEY (`id`) );
Le plus important maintenant, le dernier. "msg_parent_id" contient 0 s'il s'agit du premier message d'une discussion (un sujet), et s'il s'agit d'une réponse, il contient l'id du sujet auquel il est associé.
Maintenant, sur un forum, quand je récupère les sujets, je procède avec cette requête :
J'obtiens donc les sujets ordonnés par date décroissante. J'aimerais les ordonner par dernière réponse. Je me doute avoir besoin des jointures mais je ne connais pas trop et la doc en français sur le site de MySQL est un peu difficile à comprendre...Code:SELECT * FROM forums_sujets WHERE msg_parent_id=0 ORDER BY id DESC
Alors voilà, si vous désirez de plus amples précisions, faites-moi le savoir
-----