3.2版本的数据分页

jerry thinkphp 2015年11月19日 收藏
3.2版本的官方手册上一直没有数据分类的说明,我今天试着调试了一下,基本行得通,给一些初学者看看。
首先
import('ORG.Util.Page');// 导入分页类
这个语句不用了,因为3.2版本的Page模板换到了Think类库里面。

然后大体上代码与3.1版本的区别不大(目测是这样),下面我给弄一下我的代码:
$Article = M('Article'); // 实例化Data数据对象
$count      = $Article->count();// 查询满足要求的总记录数 $map表示查询条件
$Page = new  \Think\Page($count, 15);// 实例化分页类 传入总记录数(这是根据@979137的意见修改的,这个建议非常好!)
$show       = $Page->show();// 分页显示输出
// 进行分页数据查询
$orderby['id']='desc';
$list = $Article->order($orderby)->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
你如果使用的时候,把M()里面的模型换了。然后最值得注意的一点就是,
$Page = new  \Think\Page($count, 15);
这个语句,因为我看了一下Page类的代码,它好像没有给每页要显示的条数赋初始值,你如果不传入第二个参数"15",那么Page类就不知道你每页要显示的条数,所以就到时候就无法显示分页数据。这个一定要注意一下。我刚测试了一下,基本上能用,后期如果还有什么问题,我再完善一下。也请高手多多指教!