Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Группировка последних комментариев по новостям, к которым они принадлежат

Группировка последних комментариев по новостям, к которым они принадлежат


     24.02.2012    mysql, комментарии    Общие вопросы по PHP, Модули    3007

вопрос
Есть модуль, который выводит последние комментарии.

Как можно сделать, чтобы комментарии выводились не просто список последних, а список новостей, в которых они были добавлены.

Чтобы было понятно как именно - как на форумах. Т.е. добавляем коммент, новость сверху и потом сползает вниз по следующего коммента. При этом если мы два раза подряд добавим коммент в одну новость, то будет не две строки с этой новостью, а одна - т.е. каждой новости по 1 экземпляру.

Вот есть запрос

SELECT c.user_id, c.date, c.id as comid, c.post_id, c.is_register, c.text, c.autor, c.answer, c.email, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, p.flag FROM dle_comments as c, dle_post as p WHERE p.id=c.post_id AND c.approve=1 ORDER BY c.date DESC LIMIT 0,10


Он просто выведет последние 10 комментов из dle_comments.

А как преобразовать этот запрос, чтобы он вывел 10 новостей, в которых были добавлены комменты (со всеми данными последнего коммента в новости, как и в этом запросе)?

Т.е. чтобы модуль последних комментариев выглядел как форум.

Пробовал вот так:

SELECT c.user_id, c.date, MAX(c.id) as comid, c.post_id, c.is_register, c.text, c.autor, c.answer, c.email, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, p.flag FROM dle_comments as c, dle_post as p WHERE p.id=c.post_id AND c.approve=1 GROUP BY p.id DESC ORDER BY MAX(c.id)DESC LIMIT 0,10


Но что-то неверно. Данные новостей выводятся правильно, а данные последних комментов нет (берутся не последние комменты, а первые в новостях)

Ответа пока нет


Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх