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);

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

posted @ 2016-05-10 18:09  杰杰顺利  阅读(227)  评论(0编辑  收藏  举报