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 相关文章推荐
PHP中创建并处理图象
Oct 09 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
微信支付开发交易通知实例
Jul 12 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
thinkPHP框架自动填充原理与用法分析
Apr 03 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 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
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Zabbix实现微信报警功能
2016/10/09 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python re模块的高级用法详解
2018/06/06 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
python如何运行js语句
2020/09/09 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
外语专业毕业生个人的自荐信
2013/11/19 职场文书
大学毕业感言
2014/01/10 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
2015年消防工作总结
2015/04/24 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
高二语文教学反思
2016/02/16 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
在Python 中将类对象序列化为JSON
2022/04/06 Python