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

前端之家收集整理的这篇文章主要介绍了Yii列表定义与使用分页方法小结(3种方法)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

方法一:

控制器定义

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;"> // 显示一个模型 // 显示分页 widget('CLinkPager',array( 'pages' => $pages,)) ?>

方法二:

控制器定义:

array( 'condition'=>'status=1','order'=>'create_time DESC','with'=>array('author'),),'pagination'=>array( 'pageSize'=>20,)); $this->render('index',array( 'dataProvider'=>$dataProvider,)); }

视图文件

PHP;"> widget('zii.widgets.CListView',array( 'dataProvider'=>$dataProvider,'itemView'=>'_view',)); ?>

方法三:

视图文件

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

数据模型类:

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常见数据库操作技巧汇总》

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

猜你在找的PHP相关文章