本文实例讲述了Codeigniter框架实现获取分页数据和总条数的方法。分享给大家供大家参考。具体实现方法如下:
一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起
/**<br />* 获取分页数据及总条数<br />* @param string @tablename 表名<br />* @param mixed $where 条件<br />* @param int $limit 每页条数<br />* @param int $offset 当前页<br />* <br />*/<br />public function get_page_data($tablename, $where, $limit, $offset, $order_by, $db)<br />{<br /> if(empty($tablename))<br /> {<br /> return FALSE;<br /> }<br /> <br /> $dbhandle = empty($db) ? $this->db : $db;<br /> <br /> if($where)<br /> {<br /><i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img> if(is_array($where))<br /> {<br /> $dbhandle->where($where);<br /> }<br /> else<br /> {<br /> $dbhandle->where($where, NULL, false);<br /> }<br /> }<br /> <br /> $db = clone($dbhandle);<br /> $total = $dbhandle->count_all_results($tablename);<br /> <br /> if($limit)<br /> {<br /> $db->limit($limit);<br /> }<br /> <br /> if($offset)<br /> {<br /> $db->offset($offset);<br /> }<br /> <br /> if($order_by)<br /> {<br /> $db->order_by($order_by);<br /> }<br /> <br /> $data = $db->get($tablename)->result_array();<br /> <br /> return array('total' => $total, 'data' => $data);<br />}
希望本文所述对大家基于Codeigniter框架的PHP程序设计有所帮助。