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中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
php使用socket调用http和smtp协议实例小结
Jul 26 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
设定php简写功能的方法
Nov 28 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 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 快速排序算法详解
2014/11/10 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
对python中的argv和argc使用详解
2018/12/15 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
Android面试题附答案
2014/12/08 面试题
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
硕士生工作推荐信
2014/03/07 职场文书
洗发露广告词
2014/03/14 职场文书
授权收款委托书范本
2014/10/10 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
工程服务质量承诺书
2015/04/29 职场文书
毕业酒会致辞
2015/07/29 职场文书
css3带你实现3D转换效果
2022/02/24 HTML / CSS