您的位置:首页 > 编程语言 > PHP开发

使用CDbCriteria对yii查询分页

2011-06-05 22:04 483 查看
使用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将会按查询数据分页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: