我正在开发基于MVC codeigniter的项目。我当前的设置是这样的,它按照以下查询显示在页面中最多10个表(../ models / mode.php)
$function getlist($time)
{
$query = $this->db->query('select * from (select job, username,test from jobs by time desc limit 10 ) as a order by time desc');
.....
}
查询工作正常,并在页面中显示10个表。虽然数据库有超过10个条目,我想在每个页面中放入10个表并合并分页,这样我就可以看到10个不同页面中的所有100个结果。
在控制器中,我有一块在哪里,我试图使用分页库但没有帮助。
$this->load->library('pagination');
$config['base_url']= 'http://localhost/pc/index.php/proj/submit/';
$config['uri_segment'] =5;
$config['total_rows']= 100;
$config['per_page'] = 10;
$this->pagination->initialize($config);
echo $this->pagination->create_links();
所有它只是创建链接,但不允许我遍历不同的页面(当然,它将由于控制器不知道它)。我认为限制需要有一个开始和结束值说0,100或开始,完成但我怎么能让控制器知道相同的。有任何反馈/建议吗?我是MVC世界以及php / mysql的新手。
答案 0 :(得分:0)
您必须处理模型中的分页:
$function getlist($time, $start, $limit)
{
$query = $this->db->query('select * from (select job, username,test from jobs by time desc limit 10 ) as a order by time desc limit '. $limit .', '. $start);
.....
}
在你的控制器中:
// Get pagination page
$page = ($this->uri->segment(5))? $this->uri->segment(5) : 0;
$data = $this->mode_model->getlist($time, $config["per_page"], $page);
答案 1 :(得分:0)
试试这个
$config['uri_segment'] =3;