【转】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分页组件的定位。在Yii框架中,分页组件是作为一个独立的组件存在,我们可以将其配置在...
下面我总结了在Yii常用的一些yii分页方式与实例代码,这里有普通分页与ajax实现分页,希望此文章对大家会有所帮助。 第一种:CListView分页 针对对象形式的数据分页 Controller: 复制代码 代码如下:public function...
本文以实例代码简述了yii实现分页的方法,供学习yii的朋友参考,具体代码如下: 1.控制器部分代码: public function actionTest() { $criteria=new CDbCriteria; $criteria->order='id DESC'; $count=User::...
**YII框架中的分页与排序** YII是一款高性能的PHP框架,用于开发Web 2.0应用。在处理大量数据时,分页和排序功能是必不可少的,它们能提高用户体验,使用户能够轻松地浏览和查找所需信息。在本篇文章中,我们将深入...
在本文中,我们将深入探讨如何在Yii2框架中结合Datagrid实现数据的分页查询功能,同时涵盖用户登录注册、数据删除与修改等关键点。Yii2是一个高性能、易用且富有灵活性的PHP框架,而Datagrid是它的一个重要组件,...
Yii 提供了简单易用的分页机制,本文将详细介绍两种在 Yii 中实现分页的方法。 1. 在控制器(Controller)中实现分页: 在 Yii 中,分页通常在控制器中进行初始化和配置。以下展示了两种方法: **方法一:** ```...
以下是实现Yii分页功能的关键步骤: 1. 在控制器(Controller)中创建分页数据的逻辑。通过控制器来创建一个CDbCriteria对象,用于指定如何从数据库中读取数据。然后使用CPagination对象,并将数据总数量传递给...
Yii实现分页的两种方法,一种是用DAO实现,另外一种是在widget实现. 各有优点吧,第一种效率会高一点, 第二种可以使用自带的表格,方便一些. 一. DAO实现分页. [Controller层] public function actionReport() { ...
Yii 框架结合 Bootstrap 创建分页样式是一个常见的需求,特别是在构建现代响应式网页应用时。Bootstrap 是一个广泛使用的前端框架,它包含了一系列预定义的 CSS 和 HTML 规范,可以快速构建美观、响应式的界面。这个...
$user = Yii::app()->user; $id = $user->id; $connection=Yii::app()->db; $sql= sql查询语句; $command = $connection->createCommand($sql)->queryAll(); $pages = new CPagination(count($command)); $...
Yii2框架内置了分页功能,即Pagination类,以及一个非常灵活的分页控件LinkPager,可以通过扩展实现各种自定义的分页效果。 ### Yii2分页的使用方法 首先,要使用Yii2的分页功能,需要在控制器(Controller)中...
CLinkPager是Yii框架中用于实现数据分页显示的一个组件,该组件能够生成一个链接列表,通过这些链接用户可以访问数据的不同页面。本文将详细介绍Yii中使用CLinkPager进行数据分页显示的实例。 首先,CLinkPager继承...
我最近接触yii总结的一点经验,希望能帮助大家
本文重点介绍Yii框架下的视图操作之自定义分页实现方法,涵盖了从调用分页方法、复制修改基类分页类文件,到通过CSS样式文件进行分页外观的定制等方面的知识。 在Yii框架中,分页功能通常在视图层通过CGridView和...