2009-10-26 47 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

相關問題