【转】yii 分页功能详解
Yii 是利用CPagination来实现
//在 Controller(控制器) 中的代码
public function actionIndex()
{
$criteria = new CDbCriteria();
$criteria->order = ' 数据库字段 desc'; //按什么字段来排序
$count = Article::model()->count('$criteria');//count() 函数计算数组中的单元数目或对象中的属性个数。
$pager = new CPagination('$count');
$pager -> pageSize = 10; //每页显示的行数
$pager->applyLimit($criteria);
$artList = Article::model()->findA($criteria);//查询所有的数据
$this->render('index',array('pages'=>$pager,'list'=>$artList));
}
下面是view中的代码
<div>
<?php
$this->widget('CLinkPager',array(
'header'=>'',
'fristPageLabel'=>'首页',
'lastPageLabel'=>'末页',
'prevPageLabel'=>'上一页',
'nextPageLabel'=>'下一页',
'pages'=>'$pages',
'maxButtonCount'=>13,
)
);
</div>
一般写法:
$criteria = new CDbCriteria;
$count = DnOnline::model()->count($criteria);
$pages = new CPagination($count);
$pages->pageSize = 5;
$pages->applylimit($criteria);
$model = DnOnline::model()->findAll($criteria);
$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();
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分页组件用法。分享给大家供大家参考,具体如下: 该案例使用时,分页类在yii框架中以组件的形式存在于components中。 action代码如下: public function actionIndex(){ $user=User::model(); ...
下面我总结了在Yii常用的一些yii分页方式与实例代码,这里有普通分页与ajax实现分页,希望此文章对大家会有所帮助。 第一种:CListView分页 针对对象形式的数据分页 Controller: 复制代码 代码如下:public function...
本文以实例代码简述了yii实现分页的方法,供学习yii的朋友参考,具体代码如下: 1.控制器部分代码: public function actionTest() { $criteria=new CDbCriteria; $criteria->order='id DESC'; $count=User::...
使用datagrid与yii2框架实现的简单数据分页与分页查询,包括用户登陆注册、数据的删除与修改
NULL 博文链接:https://hudeyong926.iteye.com/blog/1320625
主要介绍了yii框架使用分页的方法,结合实例形式分析了两种Yii框架分页的实现方法及相关操作注意事项,需要的朋友可以参考下
下家公司用的框架是yii,这几天看了下相关教程,今儿把分页教程写下,最后把tp的分页也给整合进了yii,因为个人觉得yii分页没有tp用的顺手。 首页,在models目录里创建个Auth.php的模型文件,里面写入 class Auth ...
Yii实现分页的两种方法,一种是用DAO实现,另外一种是在widget实现. 各有优点吧,第一种效率会高一点, 第二种可以使用自带的表格,方便一些. 一. DAO实现分页. [Controller层] public function actionReport() { ...
$user = Yii::app()->user; $id = $user->id; $connection=Yii::app()->db; $sql= sql查询语句; $command = $connection->createCommand($sql)->queryAll(); $pages = new CPagination(count($command)); $...
Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。...Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC...yii自带了分页类和页面样式,但如果是yii+bootstrap开发的项目如何在不
yii分页方法 function actionPage(){ $criteria=new CDbCriteria(); $count=Archives::model()->count($criteria); $pages=new CPagination($count); // results per page $pages->pageSize=10; $pages->...
yii的分页类CLinkPager默认是不支持显示共x页的,那么现在接的项目有这样的需求,怎么办呢?下面通过本文给大家介绍YII CLinkPager分页类扩展增加显示共多少页的实例代码,需要的朋友参考下吧
本篇文章主要介绍了yii2实现分页,带搜索的分页功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
主要介绍了Yii2分页的使用及其扩展方法详解的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
我最近接触yii总结的一点经验,希望能帮助大家
主要介绍了Yii使用CLinkPager分页的方法,需要的朋友可以参考下