- 浏览: 404295 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
goahead2010:
有用
JS遍历对象或者数组 -
bishibaodian:
不要在这样找笔试题了,一次就这么几个,还没过瘾就没有了,去安装 ...
整理了一份招PHP高级工程师的面试题 -
smallearth:
不错
整理了一份招PHP高级工程师的面试题 -
ipodao:
暂时没发现啊!
IE域名带有下划线导致的session丢失 -
ipodao:
谢了
JS遍历对象或者数组
'defaultOrder'=>array('title' => false), false是升序,true是倒叙
1.自定义分页
使用CPagination呈现相关信息到页码. 当数据需要渲染到多页时,我们可能使用去呈现信息,诸如itemCount, pageSize, currentPage,等等. 这些信息被传递到pagers
- $sql = "SELECT * FROM USER";
- $data = Yii::app()->db->createCommand($sql)->queryAll();
- $sql2 = "SELECT count(*) FROM USER";
- $count = Yii::app()->db->createCommand($sql2)->queryScalar();
- $pages = new CPagination($count);
- $pages->pageSize = 4;
- //$pages->setCurrentPage(2);
- $pdata =Yii::app()->db->createCommand($sql." LIMIT :offset,:limit");
- $pdata->bindValue(':offset', $pages->currentPage*$pages->pageSize);//$pages->getOffset();
- $pdata->bindValue(':limit', $pages->pageSize);//$pages->getLimit();
- $info = $pdata->queryAll();
PostController.php
- <?php
- class PostController extends Controller
- {
- function actionIndex()
- {
- $criteria = new CDbCriteria();
- $criteria->compare("log_id",">0");
- $count=Ipad3SerialNumber::model()->count($criteria);
- $pages=new CPagination($count);
- // elements per page
- $pages->pageSize=2;
- $pages->applyLimit($criteria);
- // sorting
- $sort = new CSort('Ipad3SerialNumber');
- $sort->attributes = array(
- 'number',
- 'get_time'
- );
- $sort->defaultOrder = array('get_time'=>true);
- $sort->applyOrder($criteria);
- $models = Ipad3SerialNumber::model()->findAll($criteria);
- $this->render('list', array(
- 'models' => $models,
- 'pages' => $pages,
- 'sort' => $sort,
- ));
- }
- }
view
- <?php
- <p><?php echo $sort->link('id')?></p>
- <p><?php echo $sort->link('title')?></p>
- <ol>
- <?php foreach($models as $model):?>
- <li>
- <h2><?php echo $model->id?> - <?php echo $model->title?></h2>
- </li>
- <?php endforeach?>
- </ol>
- <?php $this->widget('CLinkPager', array(
- 'pages' => $pages,
- 'header'=>''
- ));
- $this->widget('CListPager', array(
- 'pages'=>$pages,
- 'header'=>'-'
- ));
- ?>
点击$sort的link可以动态排序
2系统也有封装的分页 ,排序GRID
enableSorting=false全部禁用排序,单列禁用排序sortable =false,enablePagination=false
- public function actionAR(){
- /****用法一:*****/
- $criteria = new CDbCriteria();
- $criteria->compare('serviceType',$arr);
- $dataProvider=new CActiveDataProvider('Post',array(
- 'criteria' => $criteria,
- ));
- /****用法二:*****/
- $dataProvider=new CActiveDataProvider('Post', array(
- /*'criteria'=>array(
- 'condition'=>'status=1 AND tags like :tags',
- 'params'=>array(':tags'=>$_GET['tags']),
- 'order'=>'create_time DESC',
- 'with'=>array('author'),
- ),*/
- 'pagination'=>array(
- 'pageSize'=>100,
- ),
- 'sort'=>array(
- 'defaultOrder'=> array('title'=>true),
- ),
- ));
- $this->render('index', array(
- 'dataProvider' => $dataProvider,
- ));
- }
- public function actionArray(){ //推荐不用,数组大内存溢出
- $rawData= array(array(
- 'name'=>'István Beregszászi',
- 'duty'=>'core framework development',
- 'active'=>false,
- ));
- //$rawData=Yii::app()->db->createCommand($sql)->queryAll();
- $dataProvider = new CArrayDataProvider($rawData, array(
- 'sort'=>array(
- 'attributes'=>array('name', 'id', 'active'),
- 'defaultOrder'=>array('active' => true, 'name' => false),
- ),
- 'pagination'=>array(
- 'pageSize'=>10,
- ),
- ));
- $this->render('index', array(
- 'dataProvider' => $dataProvider,
- ));
- }
- public function actionSQL(){
- $count = Yii::app()->db->createCommand('SELECT COUNT(*) FROM film')->queryScalar();
- $sql = 'SELECT film_id,title FROM film';
- $dataProvider=new CSqlDataProvider($sql,array(
- 'keyField'=>'film_id', //sql in select table column default id
- 'totalItemCount'=>$count,
- 'sort'=>array(
- 'attributes'=>array('title'), //sql table columns
- 'defaultOrder'=>array('title' => true),
- ),
- 'pagination'=>array(
- 'pageSize'=>100,
- ),
- ));
- $this->render('index', array(
- 'dataProvider' => $dataProvider,
- ));
- }
view
- <?php foreach($dataProvider->data as $film):?>
- <?php echo $film->title?>
- <?php endforeach?>
- <?php $this->widget('CLinkPager',array(
- 'pages'=>$dataProvider->pagination))?>
也可以套CGridView(推荐) summaryText,{summary}自定义总计信息
- <?php
- $this->widget('zii.widgets.grid.CGridView', array(
- 'dataProvider'=>$dataProvider,
- 'template'=>'{items}{summary}{pager}',
- 'summaryText'=>"第{start}-{end}条, 共 {count} 条,页数:{page}/{pages}页",
- 'columns'=>array(
- array(
- 'name' => 'title',
- 'header' => '订单号',
- 'value'=>'$data[title]', //if is_array
- )
- ),
- ));?>
PS:在CGridView中显示当前是第几页可以用:
$this->grid->dataProvider->pagination->currentPage
3分页扩展
mypager是 一个非常简单的 扩展 , 结合在一个 CListPager 和 CLinkPager , 允许 用户选择 他们想要 去 或者点击 一个页面 按钮 CLinkPager ) , 或 选择 从 下拉列表中 的 页面 ( CListPager ) 页 CGridView 。
CLinkPager首页,末页CSS默认不显示
CLinkPager首页,末页CSS默认不显示
- /**
- * Hide first and last buttons by default.
- */
- ul.yiiPager .first,
- ul.yiiPager .last
- {
- display:none;
- }
- <?php $this->widget('zii.widgets.grid.CGridView', array(
- 'id'=>'customer-grid',
- 'dataProvider'=>$model->search(),
- 'pager'=>array(
- //'class'=>'CLinkPager', //LinkListPager
- 'maxButtonCount'=>8,
- 'firstPageLabel'=>'首页',
- 'lastPageLabel'=>'末页',
- 'nextPageLabel'=>'下一页',
- 'prevPageLabel'=>'上一页',
- 'header'=>'',
- 'cssFile'=>false, //如果使用主css文件,那么这里可以写false,如果使用其它附加css文件,我们这里填写css文件名。
- ),
- ));?>
转自:http://hudeyong926.iteye.com/blog/1320625
- LinkListPager-1.0.zip (7.2 KB)
- 下载次数: 19
发表评论
-
Yii SendMail
2012-09-12 18:46 15391.下载拓展,解压至extesions/mailer htt ... -
集成PHPExcel
2012-09-06 15:24 14531.下载phpexcel 2.解压到/protecte ... -
YII配置
2012-07-31 15:24 2186用YIIFramework的库开发 Jav ... -
YII contoller之间的方法调用 redirect
2012-07-31 15:23 9117一个contoller里怎么调用另一个controlle ... -
YII中的session和cookie
2012-07-31 15:09 1521一,在Yii中使用session 与原生态php5的se ... -
YII Behavior重用
2012-07-31 15:04 1368转载自:http://hudeyong926.iteye ... -
YII关联查询
2012-07-26 15:48 14129一、多表关联的配置 在我们使用 AR 执行关联查询之前 ... -
YII自带的模型验证
2012-07-26 11:49 2548// CValidator.php public st ... -
CDbCriteria 常用方法
2012-07-25 17:04 825/** * 传递变量 */ ... -
YII中的Asset
2012-07-24 17:51 2601简而言之,yii中protect目录下面的内容都是受保护的,但 ... -
YII RBAC
2012-07-19 17:42 6509自带的不带管理功能,直接用的是srbac 1.下载ex ... -
YII AR
2012-07-16 15:35 0Active Record(AR)是一种流行的对象关系映射(O ... -
YII中的模型验证
2012-07-16 15:35 982在一个web应用中,可能有多个地方需要进行验证。比如“注 ... -
YII的访问控制
2012-07-16 15:23 3269在Yii为Model生成的Controller中,有一个 ... -
YII中创建自己的widget
2012-07-16 13:46 13481.构建自己的widget testWidget.php 在 ... -
YII中加载静态页面
2012-07-16 13:31 4100在web应用中,我们经产更需要显示静态页,如“关于我们”等,这 ... -
YII中引入第三方的库
2012-07-16 11:29 13178首先要了解Root Alias 为方便起见,Yii 预定义了以 ... -
some note
2012-07-11 17:43 01.CDetailView和CGridView < ...
相关推荐
接下来我们将详细介绍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和...