php mysql 怎么实现博客按月归档
php mysql 怎么实现博客按月归档
1.首先需要的您的数据表结构支持,通常文章记录管理应该存在create_time
,update_time
这样子的字段。
2.有了这些字段之后我们就可以根据create_time
来归类
3.PHP中处理timestamp
时间戳的函数有
strtotime()
函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。
date()
格式化时间戳
您可以使用time()
// 表示当前的Unix时间戳<?php echo date('m', time()); ?>
//获取到当前的月份 输出为 10
<?php echo date('Y-m-d', time()); ?>
//获取到当前的日期 输出为 2016-10-08
您可以使用$article_time = strtotime($create_time_timestamp)
获取到您的文章创建的time()
格式日期,
然后使用<?php $month = date('m', $article_time); ?>
获取创建的月份,进行归档输出即可!
当然,如果您在文章存入数据库时已经做好了归档就更好!
表中冗余归档的字段,保存博客的月份。这样方便些!
楼上的是不是有些复杂?
我同意楼上第一个观点,文章表里需要有两个字段,create_month, create_month_time;
上面两个字段保存的格式为文章的创建月,create_month
格式:2016-10
,create_month_time
则存储月的时间戳
然后一个分组group by
和排序order by
搞定
可以把查询出来的数据,稍微组装一下,整理成如下的数组格式:
<code>$article_list = array( '2016-10' => array( 0 => array( //文章信息 ), 1 => array( //文章信息 ) ), '2016-9' => array( 0 => array( //文章信息 ), 1 => array( //文章信息 ) ) )</code>