• 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渲染分页button或链接。

    $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的效果:



    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    Java Web表达式注入
    Mysql:The Federated Storage Engine:联合(联盟)存储引擎:【远程连接】服务器引擎
    Mysql:16.11.1 Pluggable Storage Engine Architecture
    Mysql:Server Logs:mysqld服务器的各种日志
    Mysql:InnoDB Table Compression and InnoDB Page Compression:适用于InnoDB的:表压缩 & 页压缩
    Mysql:Redo Log
    kubectl相关指令
    使用alias简化kubectl输入
    使用Minikube运行一个本地单节点Kubernetes集群(阿里云)
    Javascript去掉base64中的回车换行
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4850678.html
Copyright © 2020-2023  润新知