thinkphp5的paginator实现数组的分页查询

      1、控制器

       use think\paginator\driver\Bootstrap;
       $query=array();
        if(input("post.CheckTime")){//条件查询
             $query=['CheckTime'=>input("post.CheckTime")];
        }
        elseif(input("get.CheckTime")){//分页查询
             $query=['CheckTime'=>input("get.CheckTime")];
        }
        else{//初始或者无条件的按钮操作
             $query=['CheckTime'=>input("get.CheckTime")];
        }
      $data = array();   //需要输出的数组
        $curpage = input('page') ? input('page') : 1;//当前第x页,有效值为:1,2,3,4,5...
        $listRow = 10;//每页10行记录
        $dataTo=array();
        $dataTo=array_chunk($data,$listRow);
        $showdata=array();
        if($dataTo){
            $showdata = $dataTo[$curpage-1];
        }
        else{
            $showdata=null;
        }
        $p = Bootstrap::make($showdata, $listRow, $curpage, count($data), false, [
            'var_page' => 'page',
            'path'     => url('url'),//这里根据需要修改url
            'query'    => $query,
            'fragment' => '',
        ]);
        $p->appends($_GET);
        $this->assign('plist', $p);
        $this->assign('plistpage', $p->render());
        return $this->fetch();

     2、模版渲染

{foreach name="plist" item="v"}
    {$v["id"]}
{/foreach}
<div align="right">
        {$plistpage}
</div>

发表回复

您的电子邮箱地址不会被公开。