数据库里面时间字段存的是int型时间戳,想做出下面这个效果,没什么经验,希望大家能给个思路,谢谢!
数据库里面时间字段存的是int型时间戳,想做出下面这个效果,没什么经验,希望大家能给个思路,谢谢!
<code>sql = 'SELECT * FROM `table` ORDER BY created DESC'; //你的数据库驱动逻辑 //数据处理 if ($articles) { $res = []; foreach ($articles as $article) { $year = date('Y', $article['created']); $res[$year][] = $article; //以年为单位,作为数组索引, } } //最后输出结果类似这样 $res => [ [2014] => [ [0] => [ //article 1 ], [1] => [ //article 2 ] ], [2015] => [ [0] => [ //article 1 ], [1] => [ //article 2 ] ] ]</code>
<code class="mysql">order by 时间字段名 DESC //时间从大到小 order by 时间字段名 ASC //时间从小到大</code>
你调用sql语句的时候order by field_time desc不就完了。
认为应该可以参考类似分页的解决方案
就是时间类型的转换嘛,用strtotime
$dated是你取出的时间戳
date("Y",strtotime($dated)); //年
date("m/d",strtotime($dated)); // 月/日