欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Codeigniter框架实现获取分页数据和总条数的方法

程序员文章站 2023-11-13 17:40:22
本文实例讲述了codeigniter框架实现获取分页数据和总条数的方法。分享给大家供大家参考。具体实现方法如下: 一般在数据分页的时候需要获取当前页的数据和总条数,一般人...

本文实例讲述了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程序设计有所帮助。