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程序设计有所帮助。