首页 > php根据时间顺序显示文章

php根据时间顺序显示文章

数据库里面时间字段存的是int型时间戳,想做出下面这个效果,没什么经验,希望大家能给个思路,谢谢!


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
        ]
    ]
]

order by 时间字段名 DESC    //时间从大到小
order by 时间字段名 ASC     //时间从小到大

就是时间类型的转换嘛,用strtotime
$dated是你取出的时间戳
date("Y",strtotime($dated)); //年
date("m/d",strtotime($dated)); // 月/日


你调用sql语句的时候order by field_time desc不就完了。


认为应该可以参考类似分页的解决方案

【热门文章】
【热门文章】