Вывод последних сообщений в каждом разделе

Discussion in 'PHP' started by Muha, 6 Feb 2007.

  1. Muha

    Muha Elder - Старейшина

    Joined:
    21 Aug 2006
    Messages:
    58
    Likes Received:
    5
    Reputations:
    -3
    Приветствую всех! Написал скрипт форума. Но что-то не могу сделать, чтобы выводилось последнее сообщение возле каждого раздела на главной странице форума. Пробовал через функцию max(datetime) выводит только последнее сообщение первого раздела форума. Подскажите пожалуйста, как реализовать такое? Пример на http://wen.ru/forum Там после названия каждого раздела написанно время последнего сообщения в кадлом разделе
     
  2. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    У каждого поста в базе должен быть свой id, которы по идее AUTO_INCREMENT, т.е. каждый следующий больше предыдущего.

    У каждого поста есть поле parent_id, в котором записан id раздела, где находится пост.

    Отсюда:

    SELECT * FROM `messages` WHERE `pagent_id` = '12' ORDER BY `id` DESC LIMIT 5

    messages - таблица с ообщениями
    12 - номер нужного раздела
    5 - количество постов
     
    1 person likes this.
  3. Muha

    Muha Elder - Старейшина

    Joined:
    21 Aug 2006
    Messages:
    58
    Likes Received:
    5
    Reputations:
    -3
    Так он выведет только 5 последних постов раздела с номером 12, а мне нужно, чтобы один последний пост каждого раздела под каждым разделом
     
  4. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    ну так измени 5 на 1

    и запрос делай столько раз, сколько разделов.

    А вообще, Rtfm
     
  5. Muha

    Muha Elder - Старейшина

    Joined:
    21 Aug 2006
    Messages:
    58
    Likes Received:
    5
    Reputations:
    -3
    Спасибо! + тебе за то, что натолкнул меня на мысль.
    Вывел вот таким запросом:
    SELECT * FROM `posts` WHERE `idforums`='$forum' ORDER BY datetime desc

    А до этого функцией max пытался :)
    Оказывается таким лёгким запросом нужно было делать. Но LIMIT там лишнее оказывается.
    Спасибо.
    С уважением, Muha
     
    #5 Muha, 6 Feb 2007
    Last edited: 6 Feb 2007