powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Последнее сообщение в форумах
8 сообщений из 8, страница 1 из 1
Последнее сообщение в форумах
    #38515567
darqseed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Пытаюсь замутить форум.
Не получается вывести к каждой категории форума последнее сообщение с этого форума, включая его подфорумы.
Хотелось бы конечно сделать это одним запросом, а потом в цикле выводить.
Курил фак, но что-то никак. Помогите плз.

Есть структура такая:

CREATE TABLE IF NOT EXISTS `forum_categories` (
`id` smallint(6) NOT NULL AUTO_INCREMENT,
`parent_id` smallint(6) NOT NULL DEFAULT '0',
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`position` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

CREATE TABLE IF NOT EXISTS `forum_threads` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cat_id` smallint(6) NOT NULL DEFAULT '0',
`user_id` varchar(25) NOT NULL DEFAULT '0',
`title` varchar(255) NOT NULL,
`story` text NOT NULL,
`date` varchar(10) NOT NULL,
PRIMARY KEY (`id`),
KEY `date` (`date`),
KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

CREATE TABLE IF NOT EXISTS `forum_posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`thread_id` int(11) NOT NULL DEFAULT '0',
`user_id` varchar(25) NOT NULL DEFAULT '0',
`cat_id` smallint(6) NOT NULL DEFAULT '0',
`post` text NOT NULL,
`date` varchar(10) NOT NULL,
PRIMARY KEY (`id`),
KEY `thread_id` (`thread_id`),
KEY `user_id` (`user_id`),
KEY `cat_id` (`cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38515586
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
darqseedКурил фак, но что-то никак.Кури дальше...
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38515841
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так что делал то?
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38515865
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bochkov , да как всегда - ничего. Прочитал один раз. А у него в заданиях мало того что таблиц больше, так ещё и имена полей другие... ну никак этот ваш ФАК не подходит!
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38516187
darqseed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как-то вы грубо пишете. Честно, я пытался.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT c.id, u.id, t.title, p.post
FROM (
 SELECT max(p1.date) max_date
 FROM forum_posts p1
 GROUP BY p1.user_id
) zz
JOIN forum_posts p ON zz.max_date = p.date
JOIN forum_threads t ON t.id = p.thread_id
JOIN forum_categories c ON c.id = t.cat_id
JOIN users u ON u.steamid = p.user_id



Взял фикс из фака http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=687908&msg=9840111
Код: sql
1.
2.
3.
4.
5.
6.
 select u.id,name,topic,score from (
     select max(p1.score) max_score 
       from post p1
      group by p1.user_id ) zz
  join post p on zz.max_score=p.score
  join user u on u.id=p.user_id
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38516188
darqseed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению данный запрос выводит текст только последней записи.
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38516196
darqseed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT c.id, p.user_id, t.title, p.post
FROM (
 SELECT max(p1.date) max_date
 FROM forum_posts p1
 GROUP BY p1.thread_id
) zz
JOIN forum_posts p ON zz.max_date = p.date
JOIN forum_threads t ON t.id = p.thread_id
JOIN forum_categories c ON c.id = t.cat_id
JOIN users u ON u.steamid = p.user_id



Косяк был с
Код: sql
1.
GROUP BY p1.thread_id

, был p1.user_id :)

Но не стоит так недружелюбно обращаться к новичкам (и на форуме, и в теме "mysql").

Всем мир!
...
Рейтинг: 0 / 0
Последнее сообщение в форумах
    #38516211
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
darqseedне стоит так недружелюбно обращаться к новичкамНовичок он с того момента, как что-то делает руками. Пусть и неправильно. А до того... ну ты понял.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Последнее сообщение в форумах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]