Thinkphp中自己组合的数据怎样使用框架的分页

时间:2024-01-22 00:00:49

做项目有时候,需要自己处理组合数据,不是直接从表中提取出来的。不能按照手册得方法分页显示数据。这时候就得想办法,正好看到他人的方法。地址为:http://www.thinkphp.cn/code/276.html

    function array_page($array,$rows){
import("ORG.Util.Page"); //导入分页类
$count=count($array);
$Page=new Page($count,$rows);
$list=array_slice($array,$Page->firstRow,$Page->listRows);
return $list;
}

根据自己的情况使用,我的数据处理

        $uarr=array();
foreach($ids as $v){;
$map['userid']=$v['id'];
$uinfo=$u->where($map)->select();//存放下级渠道信息
$uarr[]=$uinfo[0];
}
$subuser=array_filter($uarr);
$count=count($subuser);
$Page= new \Think\Page($count,1);// 实例化分页类 传入总记录数和每页显示的记录数
$show= $Page->show();// 分页显示输出
$list=array_slice($subuser,$Page->firstRow,$Page->listRows);
$this->assign('page',$show);// 赋值分页输出
$this->assign('subuser',$list);//去除数组中的空值,然后传到模板中

关键的就是这几行

        $subuser=array_filter($uarr);
$count=count($subuser);
$Page= new \Think\Page($count,1);// 实例化分页类 传入总记录数和每页显示的记录数
$show= $Page->show();// 分页显示输出
$list=array_slice($subuser,$Page->firstRow,$Page->listRows);

出粗的话要注意语句的先后顺序。