Php 按月列出博客条目

Php 按月列出博客条目,php,sql,blogs,Php,Sql,Blogs,我正在编写自定义代码来创建博客。我需要档案页列出所有的博客条目每月。我想不出一个办法。 我想这不应该太难,因为这是所有博客的共同特点。 表结构是(postid、posttitle、publishdate等)如果您的条目来自SQL数据库,最简单的方法是使用排序依据为您执行排序。差不多 select * from posts order by publishdate 类似于以下伪代码: SELECT `publishdate` FROM `entries` ORDER BY DESC `publi

我正在编写自定义代码来创建博客。我需要档案页列出所有的博客条目每月。我想不出一个办法。 我想这不应该太难,因为这是所有博客的共同特点。
表结构是(postid、posttitle、publishdate等)

如果您的条目来自SQL数据库,最简单的方法是使用
排序依据为您执行排序。差不多

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
}

我想。

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

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>'2009-01'和publishdate<'2009-02'的条目中选择*;

如果您想在一个页面上列出所有按月份分组的帖子,只需选择按
publishdate
排序的帖子,并在本地进行分组。

虽然这相当简单,而且有一种“标准”SQL方法可以做到这一点,但了解您使用的RDBMS会有所帮助。SQL Server?MySQL?博士后?神谕还有别的吗?首先,这不起作用,因为publishdate对一个月内的所有帖子都不一样。其次,SQL查询不应该在这样的循环中发生。