yii框架中使用分页详解

jerry Yii 2015年08月09日 收藏

yii框架中使用分页很方便,如下两种方法:
在控制器中:

第一种方法:

  1. $criteria = new CDbCriteria();     //new cdbcriteria数据库<br>$criteria->id = 'id ASC';           //排序规则
  2. $count = Exchange::model()->count($criteria);
  3. $pager = new CPagination($count);
  4. $pager->pageSize=30;
  5. $pager->applyLimit($criteria);
  6. $categoryInfo = Category::model()->findAll($criteria); //根据条件查询

第二种方法:

  1. $criteria = new CDbCriteria();
  2. $criteria->order = 'id ASC';
  3. $criteria->addCondition('status=1');      //根据条件查询
  4. $criteria->addCondition('exchange_status=0');
  5. $count = Exchange::model()->count($criteria);
  6. $pager = new CPagination($count);
  7. $pager->pageSize=30;
  8. $pager->applyLimit($criteria); 
  9. $exchangeInfo = Exchange::model()->findAll($criteria);

render中传入参数:

array("pages" => $pager)
视图中加入:

  1. $this->widget('CLinkPager',array(
  2.                'header'=>'',
  3.                'firstPageLabel' => '首页',
  4.                'lastPageLabel' => '末页',
  5.                'prevPageLabel' => '上一页',
  6.                'nextPageLabel' => '下一页',
  7.                'pages' => $pages,
  8.                'maxButtonCount'=>8,
  9.          )
  10.          );

效果图:

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

分页思想:

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