今天需要做一个页面的分页,想着其他页面有写好的分页方法,能不能照搬过来,但是看了下其他页面的分页方法和网上的方法,大部分分页和查询都是同事进行的。但是现在我要处理一个已经查询好的二维数组(结果集),所以找到了一个不错的方法,用起来也很方便,分享下。
控制器
public function _list($result,$pageSize) {
import('ORG.Util.Page'); // 导入分页类
$count=count($result); //得到数组元素个数
$Page= new Page($count,$pageSize); // 实例化分页类 传入总记录数和每页显示的记录数
$list = array_slice($result,$Page->firstRow,$Page->listRows); //这个函数相当于数据库查询的limit条件
$show= $Page->show(); //分页显示输出
$this->assign('list',$list); //赋值到模板
$this->assign('page',$show); // 赋值分页输出
$this->display();
}
使用时直接调用_list(查询的结果集,每页的条数)
模板
<volist name="list" id="vo">
<vo.*><vo.*>
{$page} ----输出页码
</volist>