首页 > 代码库 > yii中分页功能的使用
yii中分页功能的使用
CDbCriteria就是这个类包的使用,这个类包是yii自带专门用来处理类似分类这样的功能的。而我们使用yii框架然后调用这个方法会起到事半功倍的效果,会发现使用这个能够节省很多的时间,让你快速的使用PHP中分页的功能。
还要使用的一个类包就是CPagination,具体的元素属性就不解释了,可以直接连接过去看API
第一步:
在控制器里面加上一下的代码:
$criteria = new CDbCriteria(); $criteria->alias = 'post';//要查询表的别名 $criteria->order = 'createtime desc'; // 文章显示的列表时间的长短 $criteria->condition = 'type_id=:type_id';//查询记录的条件,跟yii中find()的使用方法是一样的 $criteria->params = array( ':type_id' => $id ); $criteria->distinct = '';//就是sql查询语句中的distinct的值设置,一般用的少 $criteria->group = '';//就是sql查询语句中的group的值设置,一般用的少 $criteria->select = '*';//sql查询语句中select语句值得设置,默认为* $count = Post::model()->count($criteria);//通过设置上述的查询语句,然后查询出来符合上述条件的记录的条数 $pages = new CPagination($count);//判断上述的记录能够显示多少页 // CPagination呈现相关信息到页码。 // 当数据需要渲染到多页时,我们可能使用CPagination去呈现信息,诸如total item count, page size,current page等。这些信息被传递到pagers渲染分页按钮或链接。 $pages->pageSize = 1;// 每一页的记录显示多少条 $pages->applyLimit($criteria); $post = Post::model()->findAll($criteria);
第二步:
就在views显示中加上一下的代码,就可以显示出的效果了。
<div class="pagenav" id="pagenavi"> <span>共有<?php echo $pages->itemCount; ?>页</span> <?php $this->widget('CLinkPager', array( 'header' => '', 'firstPageLabel' => '首页', 'lastPageLabel' => '末页', 'prevPageLabel' => '上一页', 'nextPageLabel' => '下一页', 'pages' => $pages, 'maxButtonCount' => 8 )); ?> </div>如果是使用bootstrap框架的话,可以使用以下的代码,就会显示出bootstrap的效果。
<!-- //使用bootstrap样式分页 --> <?php $this->widget('CLinkPager', array( 'pages'=>$pages, 'header'=>false, 'htmlOptions'=>array('class'=>'pagination pull-right'), 'selectedPageCssClass' => 'active', 'hiddenPageCssClass' => 'disabled', 'firstPageLabel'=>'首页', 'lastPageLabel'=>'尾页', 'prevPageLabel'=>'«', 'nextPageLabel'=>'»', 'maxButtonCount'=>5, 'cssFile'=>false, 'firstPageCssClass'=>'previous', 'lastPageCssClass'=>'next', )); ?>
下面是bootstrap的效果:
yii中分页功能的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。