質問
ブログを作成するためのカスタムコードを書いています。月ごとにすべてのブログエントリを一覧表示するには、アーカイブページが必要です。私はそれを行う方法を思い付くことができません。 すべてのブログで共通の機能であるため、それほど難しくないはずです。 テーブル構造は(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';
また、月ごとにグループ化された all の投稿を1つのページに一覧表示する場合は、それらを 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
}
私は思う。
所属していません StackOverflow