【发布时间】:2017-12-21 23:22:12
【问题描述】:
我正在尝试使用 codeigniter 构建带有分页的搜索功能。问题是我无法将搜索查询放在页码前面的 Url 上,以便我使用控制器中的 get 方法访问它。如何让网址显示如下:
http://localhost/project/shop/2/search?search_query=bolts
2 是分页类用来标识页码的 uri 段。以下是我的控制器中分页类配置的一部分:
$search_query=$this->input->get('search_query');
$config['base_url'] = base_url().'shop/search?search='.$search_query;
$config['total_rows'] = $this->ProductModel->countallByTerm($search query);
$config['per_page'] = 2;
$start = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['products']=$this->ProductModel->search($search_query, $config['per_page'], $start);
$this->pagination->initialize($config);
当我点击分页链接上的“下一页”时,它会生成以下网址:
http://localhost/project/shop/search?search=bolts/2
这是我在视图中的 html 代码,表单负责提交搜索查询:
<form class="" action="<?php echo site_url('shop/search') ?>" method="get">
<div class="input-field col md10 s10">
<i class="material-icons prefix">search</i>
<input type="text" name="search" class="validate" required>
<label for="search">Search Products</label>
</div>
<div class="col md2 s2">
<input type="submit" class="btn" value="search" name="submit" value="">
</div>
</form>
请帮忙
【问题讨论】:
-
能不能创建一个这样的URL :localhost/project/shop/2/bolts 这样就可以直接把参数作为一个Url Segment。
-
好的。这有帮助。但是我如何将表单值提交到 URI 段
-
您可以使用 Jquery 来实现,即在输入搜索字段后单击任何提交按钮,您可以将其重定向到上述 url。
-
张贴您的 HTML 代码,以便有助于回答。
-
谢谢,我已经编辑了我的问题并放入了 html 代码