Thinkphp中自己组合的数据怎样使用框架的分页
做项目有时候,需要自己处理组合数据,不是直接从表中提取出来的。不能按照手册得方法分页显示数据。这时候就得想办法,正好看到他人的方法。地址为: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);
出粗的话要注意语句的先后顺序。