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

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

yii使用寻呼功能的更多相关文章

  1. YII 小模块功能

    //1,使用updateCounters()来更新计数器字段. Book::model()->updateCounters(array('download_count'=>1),':id= ...

  2. yii开启gii功能

    如果不想面对黑白界面,那么yii框架,给我们提供了一个模块gii 在配置文件中main.php 再通过访问模块的方式访问gii

  3. 一周试用yii开发一个带各种该有功能的web程序(三)

    接上篇,为什么index 模版里没有任何有关require,inculde类型关键字,却任然有我们认为“多余”的字符出现.因为在至少我的认知里html的结构该是<html><head ...

  4. Yii的学习(4)--Active Record

    摘自Yii官网:http://www.yiiframework.com/doc/guide/1.1/zh_cn/database.ar 在官网原文的基础上添加了CDbCriteria的详细用法. 虽然 ...

  5. yii快速入门与参考

    Yii 权威指南 http://www.yiichina.com/guide/ http://www.yiiframework.com/doc/guide/1.1/zh_cn/ Ⅰ.基本概念一.入口文 ...

  6. Yii PHP 框架分析(三)

    作者:wdy http://hi.baidu.com/delphiss/blog/item/357663d152c0aa85a1ec9c44.html Yii应用的入口脚本引用出了Yii类,Yii类的 ...

  7. Yii::记录日志到自定义文件

    默认情况下,Yii::log($msg, $level, $category)会把日志记录到runtime/application.log文件中 日志格式如下: [时间] - [级别] - [类别] ...

  8. Yii初学者必看(转载)

    Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术. 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 AR 类中体现为类的属性,一个 AR 实例则表示 ...

  9. PHP开发规范

    十.开发规范下面我们讲解 Yii 编程中推荐的开发规范.为简单起见,我们假设 WebRoot 是 Yii 应用安装的目录.1.URL默认情况下,Yii 识别如下格式的 URL: http://host ...

随机推荐

  1. Android应用盈利广告平台的嵌入方法详解

    一.如何学习Android  android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只 ...

  2. Mysql User表为空

    Mysql5.6刚安装完成,未设置过密码,root账号登录提示:root@localhost mysql]# mysqlERROR 1045 (28000): Access denied for us ...

  3. Samba-ADS/WINBIND

    Samba Security = ADShttp://www.justlinux.com/forum/showt...hreadid=118288 Winbindhttp://www.justlinu ...

  4. (转).net开发者对android开发一周的学习体会

    春节期间,相对比较闲,上班时也没什么事情做.利用这一周的时间,简单的学习了一下移动方面的开发.主要是针对android,其实我对IOS更感兴趣 (因为我用iphone),苦于暂时没有苹果电脑,只能把它 ...

  5. js-浏览器DOM

    1.window尺寸 适配所有浏览器的尺寸方案 var w=window.innerWidth|| document.documentElement.clientWidth|| document.bo ...

  6. No1_5.字符串的基本操作_Java学习笔记

    import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; import java. ...

  7. DataTable 导出Excel 下载 (NPOI)

        public class ExcelHelper { public void DownLoadExcelNew(System.Data.DataTable data, Hashtable h, ...

  8. smarty模板引擎中section循环loop与total的区别

    在smarty模板引擎的section循环中 $data=[101,102,103,105,104]; section的两个属性total与loop {section foo $data start= ...

  9. 当list中有中文,打印的时候显示为字符编码的问题

    当list中有中文时,print list显示的会是字符编码,比如: 用str()当然也不行: 在不安装其他包的情况下,目前我知道的解决办法是使用decode('string_escape'),如下:

  10. javascript if 和else 语句练习

    1.标准体重://男士体重=身高-100±3<br />//女士体重=身高-110±3<br />//输入性别.身高.体重,查看体重是否标准. <script type= ...