Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
R. Averkov 24.08.2005 10:42
Есть таблица плоского форума со следующими столбцами: id, parent_id, date, author.$subjs[^table::sql{SELECT root.id, IFNULL(MAX(child.id),root.id) AS last_id, root.date, root.author FROM forum AS root LEFT JOIN forum AS child ON root.id=child.parent WHERE root.parent=0 ORDER BY last_id DESC}[$.limit($scroller.limit)$.offset($scroller.offset)]]2. Получаем хеш с датами и авторами дочерних сообщений
$answers[^hash::sql{SELECT id, date, author FROM forum WHERE parent!=0 <... то, чего не хватает ...> }]3. Потом используем так:
$answers.[$subjs.last_id].author
<... то, чего не хватает ...>Как я понимаю, здесь должно быть некое сочетание GROUP BY, ORDER BY и лимитов, которое выберет ответы, являющиеся последними для своего родителя. Но увы все, что я придумал написать, «возвращает все что угодно».