本文實例講述了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程序設計有所幫助。