yii框架内部的分页方法和自己引入一个分页类实现分页显示。
1,使用Yii自带的分页功能
控制器代码:
复制代码 代码示例:
php;toolbar:false">/*public function actionReport()
{
$sql = "select * from {{goods}}";
$criteria=new CDbCriteria();
$result = Yii::app()->db->createCommand($sql)->query();
$pages=new CPagination($result->rowCount);
$pages->pageSize=2;
$pages->applyLimit($criteria);
$result=Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
$result->bindValue(':offset', $pages->currentPage*$pages->pageSize);
$result->bindValue(':limit', $pages->pageSize);
$goodsInfo=$result->query();
$this->render('index',array(
'goodsInfo'=>$goodsInfo,
'pages'=>$pages,
));
}*/
视图代码:
复制代码 代码示例:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>商品name</td>
<td>价格</td>
<td>更新时间</td>
</tr>
<?php
foreach($goodsInfo as $v){
?>
<tr>
<td><?php echo $v['name']; ?></td>
<td><?php echo $v['market_price']; ?></td>
<td><?php echo $v['create_time']; ?></td>
</tr>
<?php
}
?>
<?php
//分页widget代码:
$this->widget('CLinkPager',array('pages'=>$pages));
?>
</table>
方式二,使用自己的分页类来完成分页
1,控制器代码:
复制代码 代码示例:
public function actionIndex(){
$goods_m=goods::model();
//1.获得商品总的记录数目
$cnt = $goods_m -> count();
//2. 实例化分页类对象
$page = new Page($cnt, 2);
//3. 重新按照分页的样式拼装sql语句进行查询
$sql = "select * from {{goods}} $page->limit";
$goodsInfo = $goods_m -> findAllBySql($sql);
//4. 获得分页页面列表(需要传递到视图模板里边显示)
$pageList = $page->fpage();
$this->renderPartial('index',array('goodsInfo'=>$goodsInfo,'pageList'=>$pageList));
}
2,视图代码:
复制代码 代码示例:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>商品name</td>
<td>price</td>
<td>create_time</td>
</tr>
<?php
foreach($goodsInfo as $v){
?>
<tr>
<td><?php echo $v['name']; ?></td>
<td><?php echo $v['market_price']; ?></td>
<td><?php echo $v['create_time']; ?></td>
</tr>
<?php
}
?>
<?php
echo $pageList;
?>
</table>
分页类要放到能自动加载到的目录下就行;