您现在的位置是:首页 > 文章详情

利用时间维度统计分页

日期:2020-04-24点击:460

在进行数据统计的时候,不能简单的通过数据表数据条数进行分页。这时,可以通过时间维度进行分页。

//以时间作为查询条件进行用户统计查询 $start_date = request('date')['start'] ? : ''; $end_date = request('date')['end'] ? : ''; //以时间维度降序排列 //分页的最后一条数据时间 if ($start_date) { $start_at = $start_date; } else { //$min_date 查询录入用户表里最早一个用户的日期(这里使用的时间戳) $start_at = $min_date ? date('Y-m-d', strtotime($min_date)) : date('Y-m-d', time()); } //分页的第一条数据时间 if ($end_date) { $end_at = $end_date; } else { $end_at = date('Y-m-d', time()); } //计算第一条数据和最后一条数据两个时间的天数差 $days = (strtotime($end_at) - strtotime($start_at)) / (24 * 60 * 60) + 1; //分页 $page = request('page') ?: 1;//页码 $per_page = request('per_page') ?: 15;//每页显示的条数 $max_page = ceil($days / $per_page);//最大页数 //页码不在合理范围,返回原页面 if ($page <= 0 || $page > $max_page) { return back(); } //每页循环开始数字 $per_start = ($page - 1) * $per_page + 1; //每页循环结束数字 $per_end = $page * $per_page; $per_end = ($per_end < $days) ? $per_end : $days; $lists = []; for ($i = $per_start - 1; $i < $per_end; $i++) { $date = date('Y-m-d', strtotime("{$end_at} -{$i} days")); //根据当天时间,作为查询条件,查询业务模型数据,将数据返回结果追加到 $lists 数组里 ... } //最后将 $lists 返回到页面展示
原文链接:https://yq.aliyun.com/articles/757376
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章