HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Вывод последних сообщений в каждом разделе
  #1  
Старый 06.02.2007, 13:35
Muha
Познающий
Регистрация: 21.08.2006
Сообщений: 70
Провел на форуме:
424011

Репутация: 4
По умолчанию Вывод последних сообщений в каждом разделе

Приветствую всех! Написал скрипт форума. Но что-то не могу сделать, чтобы выводилось последнее сообщение возле каждого раздела на главной странице форума. Пробовал через функцию max(datetime) выводит только последнее сообщение первого раздела форума. Подскажите пожалуйста, как реализовать такое? Пример на http://wen.ru/forum Там после названия каждого раздела написанно время последнего сообщения в кадлом разделе
 
Ответить с цитированием

  #2  
Старый 06.02.2007, 15:22
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
По умолчанию

У каждого поста в базе должен быть свой id, которы по идее AUTO_INCREMENT, т.е. каждый следующий больше предыдущего.

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

Отсюда:

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

messages - таблица с ообщениями
12 - номер нужного раздела
5 - количество постов
 
Ответить с цитированием

  #3  
Старый 06.02.2007, 16:03
Muha
Познающий
Регистрация: 21.08.2006
Сообщений: 70
Провел на форуме:
424011

Репутация: 4
По умолчанию

Цитата:
Сообщение от Helios  
У каждого поста в базе должен быть свой id, которы по идее AUTO_INCREMENT, т.е. каждый следующий больше предыдущего.

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

Отсюда:

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

messages - таблица с ообщениями
12 - номер нужного раздела
5 - количество постов
Так он выведет только 5 последних постов раздела с номером 12, а мне нужно, чтобы один последний пост каждого раздела под каждым разделом
 
Ответить с цитированием

  #4  
Старый 06.02.2007, 16:15
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
По умолчанию

ну так измени 5 на 1

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

А вообще, Rtfm
 
Ответить с цитированием

  #5  
Старый 06.02.2007, 21:16
Muha
Познающий
Регистрация: 21.08.2006
Сообщений: 70
Провел на форуме:
424011

Репутация: 4
По умолчанию

Спасибо! + тебе за то, что натолкнул меня на мысль.
Вывел вот таким запросом:
SELECT * FROM `posts` WHERE `idforums`='$forum' ORDER BY datetime desc

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

Последний раз редактировалось Muha; 06.02.2007 в 21:20..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы защиты мгновенной передачи сообщений Noman Мировые новости. Обсуждения. 0 29.12.2006 02:34



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.