Codeigniter框架实现获取分页数据和总条数的方法


Posted in PHP onDecember 05, 2014

本文实例讲述了Codeigniter框架实现获取分页数据和总条数的方法。分享给大家供大家参考。具体实现方法如下:

一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起

/**

* 获取分页数据及总条数

* @param string @tablename 表名

* @param mixed $where 条件

* @param int $limit 每页条数

* @param int $offset 当前页

* 

*/

public function get_page_data($tablename, $where, $limit, $offset, $order_by, $db)

{

        if(empty($tablename))

        {

            return FALSE;

        }

        

        $dbhandle = empty($db) ? $this->db : $db;

        

        if($where)

        {

            if(is_array($where))

            {

                $dbhandle->where($where);

            }

            else

            {

                $dbhandle->where($where, NULL, false);

            }

        }

        

        $db = clone($dbhandle);

        $total = $dbhandle->count_all_results($tablename);

        

        if($limit)

        {

            $db->limit($limit);

        }

        

        if($offset)

        {

            $db->offset($offset);

        }

        

        if($order_by)

        {

            $db->order_by($order_by);

        }

        

        $data = $db->get($tablename)->result_array();

        

        return array('total' => $total, 'data' => $data);

}

希望本文所述对大家基于Codeigniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
mysql时区问题
Mar 26 PHP
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
php记录日志的实现代码
Aug 08 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php简单日历函数
Oct 28 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
常见php数据文件缓存类汇总
Dec 05 #PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 #PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 #PHP
ThinkPHP添加更新标签的方法
Dec 05 #PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 #PHP
php树型类实例
Dec 05 #PHP
Yii框架form表单用法实例
Dec 04 #PHP
You might like
php文件怎么打开 如何执行php文件
2011/12/21 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
javascript函数重载解决方案分享
2014/02/19 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
基于jQuery实现一个marquee无缝滚动的插件
2017/03/09 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
浅谈super-vuex使用体验
2018/06/25 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python中title()方法的使用简介
2015/05/20 Python
python中函数传参详解
2016/07/03 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
python通过zabbix api获取主机
2018/09/17 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
用python写测试数据文件过程解析
2019/09/25 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
Python脚本调试工具安装过程
2021/01/11 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
LINUX下线程,GDI类的解释
2012/04/17 面试题
自我鉴定思想方面
2013/10/07 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
培训督导岗位职责
2015/04/10 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android