Я делаю основной форум, используя PHP и MySQL. Я использую одну таблицу для всех потоков. Он называется forum_posts
. Он имеет следующие поля:
id, creator, time, title, message, thread_reply, forum_id, locked, sticky
Если сообщение является новой темой, то thread_reply
устанавливается на 0. В противном случае thread_reply
устанавливается на id
темы, на которую отвечает это сообщение. На странице, которая показывает все темы, я хочу упорядочить темы по времени последнего сообщения, на которое он ответил. Я использую этот запрос:
SELECT `id`, `title`, `creator` FROM `forum_posts` WHERE `thread_reply` = 0 AND `forum_id` = 1 ORDER BY -`time`
Единственная проблема заключается в том, что запрос выполняется только по порядку к моменту создания потока, а не ко времени последнего ответа на поток. Если вы не понимаете, о чем я говорю, зайдите на домашнюю страницу любого форума и посмотрите, как он упорядочивает темы по времени последнего сообщения в теме, а не по времени создания темы.