Как выбрать идентификатор панели поиска из скрытого источника и получить имя из базы данных и отправить идентификатор в URL при отправке в codeigniter:
Это мой контроллер
<?php
class Autocomplete extends CI_Controller{
function __construct() {
parent::__construct();
$this->load->model('datacomplete');
}
public function index(){
$data['posts'] = $this->datacomplete->information();
$this->load->view('view_demo',$data);
}
public function GetCountryName(){
$keyword=$this->input->post('keyword');
$data=$this->datacomplete->GetRow($keyword);
echo json_encode($data);
}
public function search()
{
$this->load->view('search',$data);
}
}
?>
This is model
<?php
class Datacomplete extends CI_Model{
public function GetRow($keyword) {
$this->db->order_by('id', 'DESC');
$this->db->like("name", $keyword);
return $this->db->get('autocomplete')->result_array();
}
public function information()
{
$this->db->select("id");
$this->db->from('autocomplete');
$query = $this->db->get();
return $query->result();
}
}
?>
This is view code
<!DOCTYPE html>
<html>
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<script src="<?php echo base_url(); ?>assets/custom.js"></script>
</head>
<body style="background-color: white;">
<?php foreach($posts as $post)
{
echo $post->id;
}
?>
<form action="<?php echo base_url('autocomplete/search?id=$post['id']'); ?>" method="post">
<div class="row">
<center><h2 style="color: #fff;">AUTOCOMPLETE FORM FROM DATABASE USING CODEIGNITER AND AJAX</h2></center>
<div class="col-md-4 col-md-offset-4" style="margin-top: 200px;">
<label class="control-lable" style="color: #fff;">Country Name</label>
<input style="height:70px" type="text" id="country" autocomplete="off" name="country" class="form-control" placeholder="Type to get an Ajax call of Countries">
<ul class="dropdown-menu txtcountry" style="margin-left:15px;margin-right:0px;" role="menu" aria-labelledby="dropdownMenu" id="DropdownCountry"></ul><button location.href='<?php echo site_url().'/autocomplete/search?id='.$post['id'];?>' type="submit">Submit</button>
</div>
</div>
</form>
</body>
</html>
This is custom.js
$(document).ready(function () {
$("#country").keyup(function () {
$.ajax({
type: "POST",
url: "http://localhost/codeajax/autocomplete/GetCountryName",
data: {
keyword: $("#country").val()
},
dataType: "json",
success: function (data) {
if (data.length > 0) {
$('#DropdownCountry').empty();
$('#country').attr("data-toggle", "dropdown");
$('#DropdownCountry').dropdown('toggle');
}
else if (data.length == 0) {
$('#country').attr("data-toggle", "");
}
$.each(data, function (key,value) {
if (data.length >= 0)
$('#DropdownCountry').append(
'<li role="displayCountries" ><a role="menuitem dropdownCountryli" class="dropdownlivalue">' + value['name'] + '</a></li>');
});
}
});
});
$('ul.txtcountry').on('click', 'li a', function () {
$('#country').val($(this).text());
});
});
У меня есть панель поиска иЯ получаю название страны в строке поиска, и у меня есть два столбца ID и название страны.Когда я ищу Индию, она предлагает название, и когда я выбираю название страны, она также должна выбирать идентификатор страны, которая должна быть скрыта от пользователя, а когда я нажимаю кнопку отправки, она должна отправлять идентификатор страны.страна в URL-адресе новой пустой страницы search.php и URL должны отображать идентификатор страны следующим образом http://localhost/codeajax/autocomplete/search?id=354 Я получаю идентификатор в функции индекса, но получаю все идентификаторы страны, и теперь яхочу выбрать любую страну, которая будет выбрана с идентификатором, и отправить идентификатор в URL на новую страницу search.php