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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
php自动加载机制的深入分析
Jun 08 PHP
浅析php header 跳转
Jun 17 PHP
php常用Stream函数集介绍
Jun 24 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
thinkPHP框架整合tcpdf插件操作示例
Aug 07 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
Javascript面向对象编程
2012/03/18 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python字符串拼接、截取及替换方法总结分析
2016/04/13 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
python中int与str互转方法
2018/07/02 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
入党积极分子评语
2014/05/04 职场文书
留学经费担保书
2014/05/12 职场文书
大学生应聘求职信
2014/05/26 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
Python Pandas 删除列操作
2022/03/16 Python