Я работаю над приложением. Я получил URL & результат
HTTP: // локальный / mydss / результат / поиск
Когда я запрашиваю с ключевым словом «Radha», получение результата работает нормально.
Тем не менее, когда я набираю URL HTTP: // локальный / mydss / результат / поиск / радха Я не получаю никакого результата.
Как передать параметры в URL?
home.php
<form action="<?php echo site_url('result/search');?>" method = "post" name="search" id="search">
<section class="s_form">
<input type="search" placeholder="Search..." id="search" name="search" autocomplete="off" value="">
<button type="submit" class="btn search_button gray"><span class="i_search_g"> </span></button></form>
Result.php
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Result extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('result_model','',TRUE);
}
function search()
{
$keyword = $this->input->get_post('search', TRUE);
$data['keyword'] = $keyword;
$data['results'] = $this->result_model->search($keyword);
$this->load->view('result',$data);
}}
Вы бы получили свой ответ, как это;
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Result extends CI_Controller {
public function index() {
}
public function search($query="radha"){
}
}
Но это не очень хорошо для поискового запроса, так как CodeIgniter ограничит то, что вы можете искать в строке запроса.
Это лучше для поиска запроса, как это;
HTTP: // локальный / mydss / результат / поиск д = радха
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Result extends CI_Controller {
public function index() {
}
public function search(){
$query = $this->input->get("q");
}
}
Чтобы получить этот тип URL, вам нужно добавить код JQuery на home.php
# add here jquery file...
<script>
$(document).ready(function(){
$("form").submit(function(){
var action = $('#search').val() ? $('#search').val() : "";
$("#search-form").attr("action", "<?php echo base_url();?>result/search/" + action);
});
});
</script>
И слегка поменяйте в своей форме тег. Чанг id search
в search-form
,
<form action="" method = "post" name="search" id="search-form">
Когда вы нажимаете кнопку «Отправить», она принимает значение input field
и вводит в действие форму.
И наконец на контроллер. Вы можете позвонить, как это —
public function search($keyword = null)
{
$data['keyword'] = $keyword;
$data['results'] = $this->result_model->search($keyword);
$this->load->view('result',$data);
}