2012-02-15 9 views
1

私は自分の会社のブログを作成しており、読者が月/年をクリックしてその期間のすべてのブログ投稿を表示できるアーカイブページを作成する方法を知りたいと考えています。PHPでアーカイブリストを作成するには?

最近私はこれをブログで頻繁に見ています。私は自分自身でそれを作成する方法を知りたいと思います。私は私の中で時間フィールドを参照することで、動的に作成したリストを望む

  • 2012年7月
  • 2012年6月
  • 2012年3月明らかに

それは次のようになりますブログテーブル、どこから始める?

これを実装する方法に関するドキュメントはありますか?

私は最初から自分のブログを作成しています。

+3

WordPressなどのブログソフトウェアを使用していますか、独自のブログソフトウェアを作成していますか? – crush

+0

最初からブログを作成する – hairynuggets

答えて

2

データベースを使用している場合は、単にタイムスタンプを使用して日付に基づいて記事をグループ化できます。データベースを使用していない場合

、あなたはファイルシステムを使用して、関連する構造で各記事を置くことができます。

/articles/2011/July/article_name_here.html

0

これにアプローチする方法がいくつかあります。私が考えることができる最も簡単な方法は、毎月のリンクを作成して、その月のすべての投稿をHTMLページに表示することです(これを行う必要があります手動で毎月)。

もう1つの方法は、MySQLで行い、すべてのプロセスを動的かつ自動化することです。 あなたの投稿が投稿されるたびに、各月の参照リンクがデータベースに保存されます。

データベースから月をエコーアウトし、phpファイルへのリンクを与えたり、その月の投稿のみをエコーアウトすることができます。また、変数を渡す必要があります。 あなたのリンクは、私は、サイトにこのシステムを持っているこの

index.php?month=september2012 

ようなものになるだろう。 また、いくつかの方法..テキストファイルに保存するCMSスタイルのような..しかし、私はあなたをサポートすることはできませんので、私は試していません。

私はあなたに、これがどのように行われるかについての少なくともいくつかの考えを与えてくれることを願っています。

+0

ここにあなたの日付検索をするための素晴らしい方法がありますhttp://stackoverflow.com/questions/271595/getting-dates-between-a-range-of-dates – Alexander

1

を考えると、あなたは何を言及していません特定のフレームワーク/ CMSは、私はかかるだろう一般的なアイデアを紹介します:

SELECT Month(`date`), Year(`date`) FROM articles GROUP BY Month(`date`), Year(`date`) 

は、Aのリストをレンダリングレンダリングする月のリストを取得します。与えられた時間スパンのためのrticles

SELECT * FROM articles WHERE Date(`date`) = foo, Year(`date`) = bar 

残りはちょうど自分自身をレンダリングされ、あまりにも多くのあなたの現在の実装に基づいていますが、これはあなたから起動する方法を提供するべきです。

関連する問題