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数据浏览器
Oct 09 PHP
php提示undefined index的几种解决方法
May 21 PHP
设置php页面编码的两种方法示例介绍
Mar 03 PHP
php中socket的用法详解
Oct 24 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
php常用日期时间函数实例小结
Jul 04 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
smarty中常用方法实例总结
2015/08/07 PHP
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
python编程培训 python培训靠谱吗
2018/01/17 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
python requests库的使用
2021/01/06 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
《我为你骄傲》教学反思
2014/02/20 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
房产继承公证书
2014/04/09 职场文书
服装设计专业求职信
2014/06/16 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年社区工作总结
2015/04/08 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
Python中json.dumps()函数的使用解析
2021/05/17 Python
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Go语言 详解net的tcp服务
2022/04/14 Golang