|
|
уф... ну описывали-же уже это тут... есть поиск... повторюсь...
Сейчас на этом форуме делается так:
1. табличка содержит поля message_id, thread_id, parent_id
message_id - уникальный идентификатор сообщения
parent_id - ссылка на родителя, если корневое сообщение, то 0
thread_id - какому треду принадлежит, у сообщений, у которых parent_id = 0 thread_id = message_id
(Т.е. если сообщение корневое, то оно - родитель треда, и все его дети имеют в thread_id его message_id, сделано для упрощения запросов, хотя эта информация избыточна)
2. выбираем нужное кол-во сообщений, с parent_id = 0
3. выбираем ВСЕ сообщения, у которых thread_id принадлежит множеству только что выбраных корневых message_id.
4. рекурсивно обходим эту выборку и рисуем дерево. (привести пример не могу, т.к. писано это уже на 3 парсере, а там есть фичи, которых нету во втором)
Вот в общем и все. Делает это один макрос (в версии, которая была писана на 2 парсере это делали 2 макроса).
В случае, если нам нужно рисовать не какое-то кол-во сообщений, а один тред - просто передаем этому макросу его ID.
Если не забуду, поищу и выложу эти макросы, которые были написаны на 2 парсере, но это в понедельник... Щас я пошел домой.
|