我在数据库和分页方面有学习,任务是,在选定的表格上显示数据。
例如,当我们选择" table_data1 "浏览器将显示来自" table_data1 "的数据并将其显示为分页页面,
我发现了一个关于分页的教程,然后我修改了代码,结果是,是的,它显示了数据的第一页记录中的5个,但是当我选择下一页时,下一页的paginaton没有显示。
我的模型 $ tabel 是选择 table_data $ 来运行查询。
class Page_model extends CI_Model{
function join_data($limit, $start,$table)
{
$this->db->select('*');
$this->db->limit($limit, $start);
$this->db->from('tbl_param');
$this->db->join('tbl_data' . $table, 'tbl_data' . $table .'.id = tbl_param.child_id', 'left');
$this->db->join('table_limit' . $table, 'table_limit' . $table .'.id = tbl_param.child_id', 'left');
$query4 = $this->db->get();
$this->db->limit($limit, $start);
return $query4->result();
}
}
这个我的控制器 $ tabel 是选择 table_data $ 来显示
class Page extends CI_Controller{
function page($table)
{
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/page/'.$table.'/';
$config['total_rows'] = 20;
$config['per_page'] = 5;
$this->pagination->initialize($config);
$page = ($this->uri->segment(5)) ? $this->uri->segment(5) : 0;
$data['table'] = $this->page_model->join_data($config["per_page"], $page,$table);
$data['links'] = $this->pagination->create_links();
$this->load->view('v_page', $data);
}
}
和视图
<?php foreach($table as $tables){ ?>
<tr>
<td><?php echo $tables->id;?></td>
<td><?php echo $tables->param;?></td>
<td><?php echo $tables->data;?></td>
<td><?php echo $tables->alarm;?></td>
</tr>
<?php }
echo $links;
?>
我希望有人帮助我或解释,我该怎么办?
答案 0 :(得分:0)
我认为您的问题出在$config['base_url']
和$page
您的$config['base_url']
应为base_url().'index.php/page/page/'.$table;
请注意第二个page
,即您需要在page
控制器内调用的方法。
您的$page
应为$page = $this->uri->segment(4);