首页 > 编程 > PHP > 正文

yii中分页功能的使用

2020-03-22 17:35:53
字体:
来源:转载
供稿:网友
  • 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,html' target='_blank'>current page等。这些信息被传递到pagers渲染分页按钮或链接。         $pages->pageSize = 1;// 每一页的记录显示多少条        $pages->applyLimit($criteria);        $post = Post::model()->findAll($criteria);

    第二步:

    就在views显示中加上一下的代码,就可以显示出的效果了。

    	<div class="pagenav" id="pagenavi">		共有<?php echo $pages->itemCount; ?>页<?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的效果:



    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表