如何在php中创建存档列表?

时间:2012-02-15 16:00:47

标签: php list blogs archive

我正在创建我的公司博客,并想知道如何创建一个存档页面,读者可以点击该月/年并显示该时段的所有博客帖子。

这些天我经常在博客上看到这一点,并且想知道自己如何创建它。

看起来像这样:

  • 2012年7月
  • 2012年6月
  • 2012年3月

显然,我希望通过引用博客表中的时间字段动态创建列表,但是从哪里开始?

有没有关于如何实现这个的文档?

我正在从头开始创建自己的博客。

3 个答案:

答案 0 :(得分:2)

如果您使用的是数据库,则只需使用时间戳即可根据日期对文章进行分组。

如果您不使用数据库,则可以使用文件系统,并将每篇文章放在相关结构中:

/articles/2011/July/article_name_here.html

答案 1 :(得分:1)

鉴于您没有提到具体的框架/ CMS,我将提出我将采取的一般想法:

获取要渲染的月份列表

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

呈现给定时间跨度的文章列表

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

剩下的就是渲染本身,根据你当前的实现过多,但这应该给你一个开始的方法。

答案 2 :(得分:0)

有一些方法可以解决这个问题。我能想到的最简单的方法就是你每个月创建一个链接,将你带到一个包含该月所有帖子的html页面。(需要手动完成)每个月)。

另一种方法是使用MySQL来完成所有流程的动态和自动化。 每次提交帖子时,每个月都会将参考链接保存到数据库中。

然后你可以从你的数据库中回显几个月,给他们一个php文件的链接,或者你的语言只能从那个月回显帖子。你还需要传递变量。 你链接会是这样的

index.php?month=september2012

我在网站上有这个系统。 还有一些方法..比如CMS风格保存你的文本文件..但我没有尝试,因此我不能支持你。

我希望你至少能够了解如何做到这一点。