<span style="font-family: Arial, Helvetica, sans-serif; white-space: normal; ">利用CPagination實作</span>
在 Controller中如下代碼:
public function actionIndex()
{
$criteria = new CDbCriteria();
$criteria->order = 'createtime desc';
$count = Article::model()->count($criteria);
$pager = new CPagination($count);
$pager->pageSize = 10;
$pager->applyLimit($criteria);
$artList = Article::model()->findAll($criteria);
$this->render('index',array('pages'=>$pager,'list'=>$artList));
}
在視圖中代碼如下:
<div id="pager">
<?php
$this->widget('CLinkPager',array(
'header'=>'',
'firstPageLabel' => '首頁',
'lastPageLabel' => '末頁',
'prevPageLabel' => '上一頁',
'nextPageLabel' => '下一頁',
'pages' => $pages,
'maxButtonCount'=>13
)
);
?>
</div>
ps:一般寫法:
$criteria = new CDbCriteria;
$count = DnOnline::model()->count($criteria);
$pages = new CPagination($count);
$pages->pageSize = 5;
$pages->applylimit($criteria);
$model = DnOnline::model()->findAll($criteria);
CDB寫法:
$criteria = new CDbCriteria;
$sql = "SELECT * FROM USER";
$model= Yii::app()->db->createCommand($sql)->queryAll();
$pages = new CPagination(count($model));
$pages->pageSize = 4;
$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();
$criteria=new CDbCriteria();
$result = Yii::app()->db->createCommand($sql_do)->query();
$pages=new CPagination($result->rowCount);
$pages->pageSize=2;
$pages->applyLimit($criteria);
$result=Yii::app()->db->createCommand($sql_do." LIMIT 2");
$result->bindValue(':offset', $pages->currentPage*$pages->pageSize);
$result->bindValue(':limit', $pages->pageSize);
$list=$result->query();
在yii中有自帶的分頁方式,通過cgridview等