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写MySQL数据 实现代码
Jun 15 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
Jul 02 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
PHP中FTP相关函数小结
Jul 15 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
Nov 10 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
PHP7新特性
Mar 09 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
鼠标图片振动代码
2006/07/06 Javascript
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
jquery获取节点名称
2015/04/26 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
从vue源码看props的用法
2019/01/09 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
Delphi软件工程师试题
2013/01/29 面试题
毕业生造价工程师求职信
2013/10/17 职场文书
参观监狱心得体会
2014/01/02 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
《老山界》教学反思
2014/04/08 职场文书
数学教研活动总结
2014/07/02 职场文书
无私奉献演讲稿
2014/09/04 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Elasticsearch 聚合查询和排序
2022/04/19 Python
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers