我正在编写自定义代码来创建博客。我需要档案页面按月列出所有博客条目。我无法想出办法。 我想它不应该太难,因为它是所有博客的常见功能。 表结构是(postid,posttitle,publishdate,.....)

有帮助吗?

解决方案

我不确定我是否理解这个问题,但如果您只想要每月所有帖子的数量,请使用以下查询:

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 排序的内容,然后在本地进行分组。

其他提示

如果您的条目来自SQL数据库,最简单的方法是要求您使用 ORDER BY 为您执行排序。像

这样的东西
select * from posts order by publishdate

像这样的伪代码:

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
}

我想。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top