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 相关文章推荐
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 PHP
php的一些小问题
Jul 03 PHP
一个PHP分页类的代码
May 18 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
php中的ini配置原理详解
Oct 14 PHP
PHP 芝麻信用接入的注意事项
Dec 01 PHP
Laravel推荐使用的十个辅助函数
May 10 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
tp5.1 框架路由操作-URL生成实例分析
May 26 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
VUE实现密码验证与提示功能
2019/10/18 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python实现控制台中的进度条功能代码
2017/12/22 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Python 日期与时间转换的方法
2020/08/01 Python
flask框架中的cookie和session使用
2021/01/31 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
.net面试题
2016/09/17 面试题
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
综合素质的自我鉴定
2013/10/07 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
铁路个人事迹材料
2014/01/30 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
生产车间标语
2014/06/11 职场文书
房屋租房协议书范本
2014/12/04 职场文书
幽默导游词开场白
2015/05/29 职场文书
音乐剧猫观后感
2015/06/04 职场文书
个人催款函范文
2015/06/23 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书