1,AR方式
model文件中
public function getList(){
}
public function getPageList($condition = '',$page = 1,$limit =
10){
}
2,DAO方式 queryAll()
$criteria = new CDbCriteria;
$sql = "SELECT * FROM USER";
$model=
Yii::app()->db->createCommand($sql)->queryAll();
$pages = new CPagination(count($model));
$pages->pageSize = 5;
$pages->applylimit($criteria);
$model=Yii::app()->db->createCommand($sql." LIMIT
:offset,:limit");
$model->bindValue(':offset',
$pages->currentPage*$pages->pageSize);
$model->bindValue(':limit', $pages->pageSize);
$model=$model->queryAll();
2,DAO方式 query()
$criteria=new CDbCriteria();
$result =
Yii::app()->db->createCommand($sql)->query();
$pages=new CPagination($result->rowCount);
$pages->pageSize=5;
$pages->applyLimit($criteria);
$result=Yii::app()->db->createCommand($sql." LIMIT 5");
$result->bindValue(':offset',
$pages->currentPage*$pages->pageSize);
$result->bindValue(':limit', $pages->pageSize);
$list=$result->query();
3,view中调用
$this->widget('CLinkPager',array(
'header'=>'',
'cssFile'=>false,//去除默认的样式
'firstPageLabel' => '首页',
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'pages' => $pages,
'maxButtonCount'=>13
)
);
本文介绍了使用Yii框架进行数据分页的两种主要方法:AR方式和DAO方式,并提供了具体的代码示例,包括如何设置每页显示的数据数量、如何应用限制条件等。
460

被折叠的 条评论
为什么被折叠?



