Как отобразить URL с параметром в CodeIgniter?

Я работаю над приложением. Я получил 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">&nbsp;</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);
}}

0

Решение

Вы бы получили свой ответ, как это;

<?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");
}


}
0

Другие решения

Чтобы получить этот тип 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);
}
0

По вопросам рекламы [email protected]