2009-10-26 49 views
0

我正在编写自定义代码以创建博客。我需要档案页面按月列出所有博客条目。我不能想出办法做到这一点。 我想它不应该太强悍,因为它是所有博客的共同特征。 表结构是(postid,posttitle,publishdate,.....)按月列出博客条目

+0

尽管这非常简单,并且会有一种“标准”SQL方法来执行此操作,但它有助于了解您正在使用的RDBMS。 SQL Server? MySQL的? Postgres的?甲骨文?还有别的吗? – 2009-10-26 11:57:31

回答

2

我不知道我理解的问题,但如果你想只需每月支付的所有帖子的数量,使用这样的查询:如果要在某月的所有帖子

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

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

select * from posts order by publishdate 
0

事情是这样的伪代码:

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

There's a typo:MOUTH/MONTH – Vamos 2009-10-26 11:13:35

+0

首先,这是行不通的,因为发布日期与一个月内的所有帖子不同。其次,在这样的循环中SQL查询绝不应该发生。 – 2009-10-26 12:55:19

+0

@Leonid:为什么不呢? – 2009-10-27 00:24:20

相关问题