yii框架中使用分页详解

jerry Yii 2015年08月09日 收藏

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,
         )
         );

效果图:

搜狗截图15年08月09日1846_1.png

分页思想:

1、计算数据库中总的条数
2、分页大小
3、设置偏移量limit