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中的数组操作函数整理
Aug 18 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 PHP
php实现计数器方法小结
Jan 05 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php 生成加密公钥加密私钥实例详解
Jun 16 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
PHP的cookie与session原理及用法详解
Sep 27 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垃圾回收机制简单说明
2010/07/22 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python Trie树实现字典排序
2014/03/28 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
详解python中eval函数的作用
2019/10/22 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
.net面试题
2015/12/22 面试题
数控技术专业毕业自荐书范文
2014/02/05 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2016大一新生军训感言
2015/12/08 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server