How to achieve monthly blog archiving in php mysql
How to achieve monthly blog archiving in php mysql
1. The first thing you need is your data table structure support. Usually article record management should have fields like create_time
, update_time
.
2. With these fields, we can classify them based on create_time
3. The functions for processing timestamp
timestamps in PHP are
strtotime()
function parses any English text date or time description into a Unix timestamp (number of seconds since January 1 1970 00:00:00 GMT).
date()
format timestamp
You can use time()
// to represent the current Unix timestamp <?php echo date('m', time()); ?>
//Get the current month and the output is 10
<?php echo date('Y-m-d', time()); ?>
//Get the current date and the output is 2016-10-08
You can use $article_time = strtotime($create_time_timestamp)
to get the time()
format date of your article creation,
then use <?php $month = date('m', $article_time); ?>
Get the created month and archive it!
Of course, it would be better if you have already archived the article when it is stored in the database!
The redundant archive field in the table stores the month of the blog. This is more convenient!
Isn’t the one upstairs a bit complicated?
I agree with the first point above. There need to be two fields in the article table, create_month, create_month_time;
The format saved in the above two fields is the creation month of the article, create_month
format: 2016-10
, create_month_time
stores the timestamp of the month
Then group group by
and sort order by
to get it done
You can assemble the queried data a little and organize it into the following array format:
<code>$article_list = array( '2016-10' => array( 0 => array( //文章信息 ), 1 => array( //文章信息 ) ), '2016-9' => array( 0 => array( //文章信息 ), 1 => array( //文章信息 ) ) )</code>