php分页数据最后一页继续追加第一页数据

简介: 之前做数据分页遇到这样一个需求,就是数据到最后一页的时候不能中断,继续把第一页的数据追加到后面,无限显示下去。 原文地址:代码汇个人博客 http://www.codehui.net/info/23.

之前做数据分页遇到这样一个需求,就是数据到最后一页的时候不能中断,继续把第一页的数据追加到后面,无限显示下去。
原文地址:代码汇个人博客 http://www.codehui.net/info/23.html

一般情况我们写数据分页都是如下代码

//分页码
$page = $_REQUEST['page'];
//显示条数
$limit = 10;
//分页开始条数
$start_limit = ($page - 1) * $limit;
//运行sql语句得到的结果
$list = model('table')->limit("$start_limit, $limit")->findAll();
//返回数据
return $list;

比如我们有102条数据,到了11页的时候就会只有2条数据,显然这不是我们要的结果。如果我们想要第11页数据显示的是最后的2条+第1页的前8条,就不能用这种方法了。

//分页码
$page  = $_REQUEST['page']; 
//显示条数
$limit = 10;
//数据总条数
$count = model('table')->count();
//取模
$pattern = (($page - 1) * $limit) % $count;  
//余条数
$pattern_limit = $pattern % $limit;
//获取数据
$list = model('table')->limit("$pattern, $limit")->findAll();
//数据条数小于页面显示条数 继续查询进行追加
if(count($list) < $limit){
    //差数据条数
    $remainder = $limit - count($list);
    //重头开始查询数据
    $new_list = model('table')->limit("0, $remainder")->findAll();
    //合并数据
    $list      = array_merge($list, $new_list);
}
return $list;
目录
相关文章
|
3月前
|
JSON PHP 数据格式
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
php案例:$_ENV的数据怎么样才能显示出来.$_ENV的简单运用
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
|
3月前
|
JSON PHP 数据格式
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
|
3月前
|
JSON PHP 数据格式
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
php对‘[{“id“:“1“,“name“:“cyg”},{“id“:“2“,“name“:“liwen“}]json数据进行修改删除操作
原生php实现自定义表单(基础类型)(特色:防止重复提交 防止输出空数据等等功能)
原生php实现自定义表单(基础类型)(特色:防止重复提交 防止输出空数据等等功能)
原生php实现自定义表单(基础类型)(特色:防止重复提交 防止输出空数据等等功能)