本文实例讲述了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
));
}
视图定义:
方法二:
控制器定义: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程序设计有所帮助。