Как создать страницу «Последние 25 тем, в которых вы участвовали» с MySQL - PullRequest
0 голосов
/ 22 ноября 2011

Я создаю страницу "Предыдущие 25 тем, в которых вы участвовали" на моем веб-сайте для моего форума, но я не совсем понимаю, для чего это нужно.Необходимо перейти в таблицу «ответы», найти самые последние 25, в которых пользователь участвовал (столбец «постер»), но они не могут иметь тот же столбец «тема».Затем он должен упорядочить его по 'last_post' внутри таблицы 'topic'.Столбец «тема» в таблице «ответы» соответствует столбцу «id» в таблице «темы».

Любая помощь?

Структура таблицы:

--f_topics--
id (int)
subject (varchar)
poster (varchar)
category (int)
posted (varchar)
type (varchar)
last_post (int)
views (int)
locked (int)

--f_replies--
id (int)
poster (varchar)
content (text)
date (varchar)
topic (int)
subject (varchar)
last_post (int)

1 Ответ

1 голос
/ 22 ноября 2011
SELECT t.id, t.subject, t.poster, t.category,
       t.posted, t.last_post, t.views, t.locked
FROM f_topics t
WHERE EXISTS (
    SELECT 1 FROM f_replies r
    WHERE r.topic = t.id
    AND r.poster = :user -- this is a query parameter, use PDO
)
ORDER BY t.last_post DESC
LIMIT 25

Если вы не знакомы с параметрами запроса или PDO, см .:

...