我的codeigniter项目中有一个搜索功能。
搜索使用联接在多个表中进行搜索。 现在是我的问题:如何为该搜索表单添加分页,以便在一个页面上显示5个结果。
function searchresults()
{
$match = $this->input->post('search');
$data['query'] = $this->bedrijven_model->get_search($match);
$this->load->view('views/header');
$this->load->view('views/searchresults', $data);
$this->load->view('views/footer');
$data['query'] = $this->bedrijven_model->bedrijven_tags();
}
<form name="input" action="searchresults" method="post">
<input type="search" placeholder="Zoeken..." name="search">
<input type="submit" value="Zoeken">
<input type="reset" value="Reset">
</form>
<br /><br />
<form method="link" action="<?php echo base_url('home/bedrijven')?>">
<input type="submit" value="Bedrijven">
</form>
function searchresults()
{
$match = $this->input->post('search');
$data['query'] = $this->bedrijven_model->get_search($match);
$this->load->library('pagination');
$config['base_url'] = base_url();
$config['total_rows'] = 10;
$config['per_page'] = 5;
$this->pagination->initialize($config);
$this->load->view('views/header');
$this->load->view('views/searchresults', $data);
$this->load->view('views/footer');
$data['query'] = $this->bedrijven_model->bedrijven_tags();
}
在我的观看中:echo $this->pagination->create_links();
但它不起作用。
希望有人可以帮助我:)。
感谢。
答案 0 :(得分:0)
首先,视图内的$this
与控制器内部不同。 (与this question比较。)我会像这样传递分页:
(Controller)
...
$data['pagination'] = $this->pagination->create_links();
...
$this->load->view('views/searchresults', $data);
(View)
<?php echo $pagination; ?>
其次,请记住pagination
库只是显示分页的帮助器。您必须自己调整数据库查询,例如
(Controller)
$skip_entries = $this->uri->segment(2); // or whatever segment it's for you
$this->bedrijven_model->get_search($match, $skip_entries);
(Model)
function get_search($search, $skip_entries)
{
...
$this->db->limit(5, $skip_entries);
...
}
答案 1 :(得分:0)
想要切换到JS分页插件这里是链接 [http://www.datatables.net/] 如果你只想在没有任何争吵的情况下显示巢数据,那么我认为这可能会有所帮助。