Yii Framework使用DAO方式查询分页代码

由于这次项目用到两表合并查询,所以AR查询不太适合了,所以这次想采用DAO方式查询,但分页代码从官网找了几天都没搞到,所以自己写了个DAO分页的例子,给大家分享一下!

控制器代码如下:

$sql = "SELECT * FROM table WHERE cid=2 and status=1";
$criteria=new CDbCriteria();
$result = Yii::app()->db->createCommand($sql)->query();
$pages=new CPagination($result->rowCount);
$pages->pageSize=22;
$pages->applyLimit($criteria);
$result=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
$result->bindValue(':offset', $pages->currentPage*$pages->pageSize);
$result->bindValue(':limit', $pages->pageSize);
$posts=$result->query();
$this->render('index',array(
'posts'=>$posts,
'pages'=>$pages,
));

视图代码如下: 循环输出

<?php 
foreach($posts as $model):
?>
<?php
echo CHtml::link($model['title'],array('article/view','id'=>$model['id']));
?>
<?php
endforeach;
?>
<?php 
$this->widget('CLinkPager',array('pages'=>$pages));
?>
发表评论

相关文章