Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сгруппировать топики в категории по дате последнего сообщения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Чечако
Отправлено: 08 Ноября, 2011 - 17:56:35
Post Id


Новичок


Покинул форум
Сообщений всего: 38
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Здравствуйте, подскажите пожалуйста как дополнить мой запрос, чтобы вывести названия топиков по дате последнего сообщения в топике?

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.                     topic_id,
  3.                     topic_subject,
  4.                     topic_date,
  5.                     topic_cat,
  6.                     COUNT(forum_posts.post_topic) AS count,
  7.                     forum_posts.post_date
  8.                 FROM
  9.                     forum_topics
  10.                 LEFT JOIN
  11.                     forum_posts
  12.                 ON forum_topics.topic_id = forum_posts.post_topic
  13.                 WHERE
  14.                     topic_cat = $id
  15.                GROUP BY forum_topics.topic_id


сейчас этот запрос выводится в виде такой таблицы:

имя топика 1 --- количество постов в топике1 --- дата создания топика1
имя топика 2 --- количество постов в топике2--- дата создания топика2

Я хочу сгруппировать топики по дате последнего сообщения в каждом (то есть как и должно быть на нормальном форуме - самый первый топик в сиске тот, в котором недавно написали сообщение). В таблице с постами есть поле post_date типа datetime в котором дата и время написания поста. Пытаюсь вывести топики по этой дате, для чего к моему запросу вконце я пробовал приписывать разные вариации этой строчки
CODE (SQL):
скопировать код в буфер обмена
  1. ORDER BY forum_posts.post_date
  2. ORDER BY DATE(forum_posts.post_date)
  3. GROUP BY forum_topics.topic_id, forum_posts.post_date DESC"
  4.  
. Но это не помогло. Только последний вариант с двумя критериями в груп бай отдаленно выводит то, что мне нужно, но он выводит последовательно все имена топиков согласно дате последнего сообщения в количестве, равном количеству сообщений. То есть в топике 1 3 сообщения и выводится 3 названия топика 1, потом топик 2 и так далее
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB