yii框架中使用分页很方便,如下两种方法:
在控制器中:
第一种方法:
- $criteria = new CDbCriteria(); //new cdbcriteria数据库<br>$criteria->id = 'id ASC'; //排序规则
- $count = Exchange::model()->count($criteria);
- $pager = new CPagination($count);
- $pager->pageSize=30;
- $pager->applyLimit($criteria);
- $categoryInfo = Category::model()->findAll($criteria); //根据条件查询
第二种方法:
- $criteria = new CDbCriteria();
- $criteria->order = 'id ASC';
- $criteria->addCondition('status=1'); //根据条件查询
- $criteria->addCondition('exchange_status=0');
- $count = Exchange::model()->count($criteria);
- $pager = new CPagination($count);
- $pager->pageSize=30;
- $pager->applyLimit($criteria);
- $exchangeInfo = Exchange::model()->findAll($criteria);
render中传入参数:
array("pages" => $pager)
视图中加入:
- $this->widget('CLinkPager',array(
- 'header'=>'',
- 'firstPageLabel' => '首页',
- 'lastPageLabel' => '末页',
- 'prevPageLabel' => '上一页',
- 'nextPageLabel' => '下一页',
- 'pages' => $pages,
- 'maxButtonCount'=>8,
- )
- );
效果图:
分页思想:
1、计算数据库中总的条数
2、分页大小
3、设置偏移量limit