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