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