thinkphp3.2数组调用tp分页类进行分页

先上function中封装的函数

<?php
function get_page($arr,$p,$pageSize) {
    import("Think.Page"); //导入分页类
    $count = count($arr);
    $Page = new Think\Page($count,$pageSize);
    $start=($p- 1) *$pageSize;
    $length= $pageSize;
    $page_count=ceil($count/$pageSize);
    $cut_qa=  array_slice($arr, $start, $length, true);
    $page = $Page->show();

    $res=array(
        'list'=>$cut_qa,
        'page'=>$page,
        'count'=>$page_count
    );
    return $res;
}
?>

$arr为需要分页的数组,$p为前端传过来的当前页,$pageSize为每页输出的条数。

 

下面为控制器中的代码:

public function owner_contract(){
        //查询数据库
        $list=M('contract')->select();
        $company=get_page($list,I('p'),10);

        $this->assign('company',$company['list']);
        if (I("get") == "ajax") {
            $this->ajaxReturn(array(
                "content" => $this->fetch('Contract/owner_contract_list'),
                "page"=>$company['count'],
                "p"=> I('p')
            ));
        } else {
            $this->display();
        }
    }

我是直接把分好页的数据渲染到另外一个页面上实现异步分页。

posted @ 2018-02-01 18:07  zrn  阅读(187)  评论(0编辑  收藏  举报