我使用了以下代码进行代码点火器分页。但它列出了数据库表中的所有reocrd。分页不起作用
$SQL = "SELECT * FROM list AS a ".$search_condition." ";
$query = $this->db->query($SQL);
$finaldata=array();
$finaldata['num_results']= $query->num_rows();
//how many blogs will be shown in a page
$limit = $finaldata['num_results'];
$start_limit = ($offset-1) * $limit;
echo $SQL = "SELECT * FROM list AS a ".$search_condition." LIMIT ".$start_limit.",".$limit." ";
$query = $this->db->query($SQL);
if($query->num_rows() > 0)
{
$finaldata['data']= $query->result_array();
}
// load pagination library
$this->load->library('pagination');
$config = array();
$config['base_url'] = site_url("adminuser/list");
$config['total_rows'] = $finaldata['num_results'];
$config['per_page'] = $limit;
//which uri segment indicates pagination number
$config['uri_segment'] = 3;
$config['use_page_numbers'] = TRUE;
//max links on a page will be shown
$config['num_links'] = 5;
//various pagination configuration
$config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';
<! some code here ->
$config['cur_tag_close'] = '</span>';
$this->pagination->initialize($config);
$finaldata['pagination'] = $this->pagination->create_links();
$this->load->view('admin/list',$finaldata);
我试图在列表页中每页列出10条记录。但不起作用
首先声明无用的变量。您的第一个SQL应该包含COUNT(*)
。
你真的不需要$limit
——你只使用过一次,下面的一行声明——你的缩进也让它几乎不可读,尽量不要用点连接字符串,使用花括号。
"SELECT * FROM list AS a {$search_condition} LIMIT {$start_limit}, {$limit}";
现在你可以好好读了,我认为它应该能解决你的问题。尽量优化你的代码,不要一团糟。最后,在您的配置中,您有与total_rows
相同的per_page
限制。您定义了$limit = $finaldata['num_results']
,请更改此值:
$config['per_page'] = $limit;