Yii列表定义与使用分页方法小结(3种方法)


Posted in PHP onJuly 15, 2016

本文实例讲述了Yii列表定义与使用分页方法。分享给大家供大家参考,具体如下:

方法一:控制器定义

function actionIndex(){
  $criteria = new CDbCriteria();
  $count=Article::model()->count($criteria);
  $pages=new CPagination($count);
  // 返回前一页
  $pages->pageSize=10;
  $pages->applyLimit($criteria);
  $models = Post::model()->findAll($criteria);
  $this->render('index', array(
  'models' => $models,
     'pages' => $pages
  ));
}

视图定义:

<?php foreach($models as $model): ?>
// 显示一个模型
<?php endforeach; ?>
// 显示分页
<?php $this->widget('CLinkPager', array(
  'pages' => $pages,
)) ?>

方法二:控制器定义:

public function actionIndex()
{
  $dataProvider=new CActiveDataProvider('News',array(
      'criteria'=>array(
        'condition'=>'status=1',
        'order'=>'create_time DESC',
        'with'=>array('author'),
      ),
      'pagination'=>array(
        'pageSize'=>20,
      ),
  ));
  $this->render('index',array(
    'dataProvider'=>$dataProvider,
  ));
}

视图文件:

<?php $this->widget('zii.widgets.CListView', array(
  'dataProvider'=>$dataProvider,
  'itemView'=>'_view',
)); ?>

方法三:视图文件

<?php $this->widget('zii.widgets.grid.CGridView', array(
  'id'=>'news-grid',
  'dataProvider'=>$model->search(),
  'filter'=>$model,
  'template'=>'{items}{summary}{pager}',
   <span style="white-space:pre"> </span> 'pager'=>array(
      'class'=>'CLinkPager',
      'header'=>'分页:',
      'prevPageLabel'=>'上一页',
      'nextPageLabel'=>'下一页',
    ),
  <span style="white-space:pre">  </span> 'summaryText'=>'页数:{pages}/{page}页',
<span style="white-space:pre"> </span>'columns'=>array(
    'id',
    array('name'=>'title',
       'htmlOptions'=>array('width'=>'20%'),
       'value'=>'mb_substr($data->title,0,10,"utf-8")',
      ),
    array('name'=>'content',
       'htmlOptions'=>array('width'=>'20%'),
       'value'=>'mb_substr(strip_tags($data->content),0,10,"utf-8")',
      ),
    array('name'=>'type',
       'value'=>'News::model()->getNewsType($data->type)',
      ),
    'user',
    array('name'=>'status',
       'value'=>'News::model()->getNewsStatus($data->status)',
       ),
    array(
      'class'=>'CButtonColumn',
    ),
  ),
));

数据模型类:

public function search()
{
  $criteria=new CDbCriteria;
  $criteria->compare('id',$this->id);
  $criteria->compare('title',$this->title,true);
  $criteria->compare('content',$this->content,true);
  $criteria->compare('type',$this->type);
  $criteria->compare('user',$this->user,true);
  $criteria->compare('status',$this->status);
  $criteria->compare('create_data',$this->create_data,true);
  return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
    'pagination'=>array(
      'pageSize'=>50,
    ),
  ));
}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
php中对xml读取的相关函数的介绍一
Jun 05 PHP
php Try Catch异常测试
Mar 01 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php开发文档 会员收费1期
Aug 14 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
PHP的拦截器实例分析
Nov 03 PHP
php输出xml属性的方法
Mar 19 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
session 加入redis的实现代码
Jul 15 #PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 #PHP
功能强大的PHP POST提交数据类
Jul 15 #PHP
Yii的Srbac插件用法详解
Jul 14 #PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 #PHP
Yii视图操作之自定义分页实现方法
Jul 14 #PHP
全面解析PHP操作Memcache基本函数
Jul 14 #PHP
You might like
第六章 php目录与文件操作
2011/12/30 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
vue实现分页组件
2020/06/16 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
艺术用品:Arteza
2018/11/25 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
SQL中where和having的区别
2012/06/17 面试题
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
Java程序员面试题
2016/09/27 面试题
大型车展策划方案
2014/02/01 职场文书
出纳担保书范文
2014/04/02 职场文书
丧事主持词大全
2014/04/02 职场文书
房产委托公证书样本
2014/04/04 职场文书
2014年会策划方案
2014/05/11 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
班级课外活动总结
2014/07/09 职场文书
《司马光》教学反思
2016/02/22 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书