Список записей в блогах по месяцам - PullRequest
0 голосов
/ 26 октября 2009

Я пишу собственный код для создания блога. Мне нужна страница архивов, чтобы перечислить все записи блога по месяцам. Я не могу придумать способ сделать это. Я думаю, что это не должно быть слишком жестким, поскольку это общая черта во всех блогах. Структура таблицы (postid, posttitle, publishdate, .....)

Ответы [ 3 ]

2 голосов
/ 26 октября 2009

Я не уверен, что понимаю вопрос, но если вам нужны только цифры всех сообщений в месяц, используйте запрос, подобный этому:

SELECT DATE_FORMAT(publishdate, '%Y%m') AS publishmonth, count(*) AS entrycount
FROM entries GROUP BY DATE_FORMAT(publishdate, '%Y%m')

Если вы хотите, чтобы все сообщения за определенный месяц:

SELECT * FROM entries WHERE publishdate > '2009-01' AND publishdate < '2009-02';

И если вы хотите перечислить всех сообщений, сгруппированных по месяцам, на одной странице, просто выберите их, отсортированные по publishdate, и выполните группировку локально.

0 голосов
/ 26 октября 2009

Примерно так: псевдокод:

SELECT `publishdate` FROM `entries` ORDER BY DESC `publishdate` GROUP BY YEAR(`publishdate`), MONTH(`publishdate`);
foreach ($dates as $date) {
    $date = mysql_real_escape_string($date)
    SELECT * FROM `entries` WHERE `publishdate` = $date
}

Я думаю.

0 голосов
/ 26 октября 2009

Если ваши записи поступают из базы данных SQL, проще всего попросить их выполнить сортировку, используя ORDER BY. Что-то вроде

select * from posts order by publishdate
...