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 模板高级篇总结
Dec 21 PHP
PHP Pear 安装及使用
Mar 19 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
试用php中oci8扩展
Jun 18 PHP
CodeIgniter配置之database.php用法实例分析
Jan 20 PHP
python进程与线程小结实例分析
Nov 11 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
Apr 14 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 PHP
PHP unset函数原理及使用方法解析
Aug 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
thinkphp 多表 事务详解
2013/06/17 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
chrome原生方法之数组
2011/11/30 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
介绍Python中的__future__模块
2015/04/27 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
大学生职业生涯规划书前言
2014/01/09 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
高一数学教学反思
2014/02/07 职场文书
初中生评语大全
2014/04/24 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
导游词之麻姑仙境
2019/11/18 职场文书