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常用代码
Nov 23 PHP
最令PHP初学者们头痛的十四个问题
Jan 15 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
PHP回调函数简单用法示例
May 08 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
Oct 23 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 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制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
如何编写高质量JS代码
2014/12/28 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
python实现马耳可夫链算法实例分析
2015/05/20 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
使用python绘制二维图形示例
2019/11/22 Python
django rest framework serializers序列化实例
2020/05/13 Python
python 实现两个npy档案合并
2020/07/01 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
资深地理教师自我评价
2013/09/21 职场文书
小学清明节活动方案
2014/03/08 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
环保公益策划方案
2014/08/15 职场文书
数学教师个人工作总结
2015/02/06 职场文书
美丽人生观后感
2015/06/03 职场文书