【问题标题】:How to create an archive list in php?如何在 php 中创建存档列表?
【发布时间】:2012-02-15 16:00:46
【问题描述】:

我正在创建我的公司博客,并且想知道如何创建一个存档页面,读者可以在其中单击月/年并显示该时间段的所有博客文章。

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

它看起来像这样:

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

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

是否有任何文档说明如何实现这一点?

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

【问题讨论】:

  • 您是在使用 WordPress 等博客软件,还是在创建自己的博客软件?
  • 从头开始创建博客

标签: php list blogs archive


【解决方案1】:

如果您使用的是数据库,您可以简单地使用时间戳来根据日期对文章进行分组。

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

/articles/2011/July/article_name_here.html

【讨论】:

    【解决方案2】:

    鉴于您没有提到具体的框架/CMS,我将介绍我将采取的总体思路:

    获取要渲染的月份列表

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

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

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

    剩下的只是渲染自己,太多基于你当前的实现,但这应该给你一个开始的方法。

    【讨论】:

      【解决方案3】:

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

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

      然后,您可以从数据库中回显月份,并为它们提供指向 php 文件的链接或您的语言,以便仅回显该月的帖子。您还需要传递变量。 你的链接会是这样的

      index.php?month=september2012
      

      我在网站上有这个系统。 还有一些方法 .. 像 CMS 样式将您保存到文本文件中.. 但我没有尝试过,因此我无法支持您。

      我希望 a 至少能让您了解如何做到这一点。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 2019-07-22
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多