使用CDbCriteria对yii查询分页

使用yiic对应数据库表建立出来的文件有这些文件。

其中index里可以查看所有数据,当数据有一定量时,需要对数据进行分页。

可以使用CDbCriteria对数据进行分页。

 

步骤1、在生成的模版model文件,如我的是 class data extends CActiveRecord ,里添加一个查询函数,返回数据集。

public function searchCharts($userid) { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria=new CDbCriteria; $user = user::model()->findByAttributes(array('id' =>$userid)); $criteria->addCondition('adduserid='.$userid,'OR'); $criteria->addCondition('belongid='.$userid,'OR'); $criteria->addCondition($user->auth === '0','OR'); return new CActiveDataProvider('data', array( 'criteria'=>$criteria, 'sort'=>array( 'defaultOrder'=>'id ASC', ), 'pagination'=>array( 'pageSize'=>5 ), )); } 

步骤2、添加查询条件

$criteria->addCondition('adduserid='.$userid,'OR'); $criteria->addCondition('belongid='.$userid,'OR'); 

步骤3、添加一个page处理模块,添加排序id,分页页数。

'sort'=>array( 'defaultOrder'=>'id ASC', ), 'pagination'=>array( 'pageSize'=>5 ), 

步骤4、在index.php中将数据的提供者改成

'dataProvider'=>data::model()->searchCharts(Yii::app()->user->id), 

这时访问index将会按查询数据分页

你可能感兴趣的:(web前端)