Я использую bootstrap typeahead и codeigniter два вместе, я хочу получить данные из двух столбцов в базе данных, и я хочу искать в обоих столбцах, но не отображает дублированные результаты поиска. что я делаю?Bootstrap typeahead и codeigniter
Это моя база данных:
Мой код,
Контроллер:
class Home extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('typeahead/country_model');
}
public function index()
{
$this->load->view('typeahead/index');
}
public function json_search_country()
{
$query = $this->country_model->get();
$data = array();
foreach ($query as $key => $value)
{
$data[] = array('id' => $value->id,
'province' => $value->province,
'city' => $value->province.', '.$value->city
);
}
echo json_encode($data);
}
}
Модель:
class Country_model extends CI_Model {
function get()
{
$query = $this->db->get('countries');
return $query->result();
}
}
Вид:
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Twitter typeahead.js Use In CodeIgniter By Baqir Memon</title>
<!-- Bootstrap CSS -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- jQuery -->
</head>
<style>
</style>
<body>
<div class="jumbotron">
<div class="container">
<h1>Baqir Memon (BM Concepts)</h1>
<p>Twitter typeahead.js Use In CodeIgniter</p>
<p>
<a class="btn btn-info" href="https://twitter.github.io/typeahead.js/" target="_blank">typeahead.js</a>
<a class="btn btn-primary" href="https://github.com/baqirmemon">Learn more</a>
</p>
</div>
</div>
<div class="container">
<div class="col-md-offset-4 col-md-4">
<form action="" method="POST" role="form">
<legend>Twitter typeahead.js</legend>
<div class="form-group">
<input type="hidden" class="form-control" name="country_id" id="country_id">
<input type="text" class="form-control" name="country_name" id="country_name" placeholder="Countries" autocomplete="off">
</div>
</form>
</div>
</div>
<!--https://github.com/twitter/typeahead.js/issues/1010-->
<script src="//code.jquery.com/jquery.js"></script>
<!-- Bootstrap JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="<?php echo site_url(); ?>assets/Bootstrap-3-Typeahead-master/bootstrap3-typeahead.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(e){
var site_url = "<?php echo site_url(); ?>";
var input = $("input[name=country_name]");
$.get(site_url+'typeahead/home/json_search_country', function(data){
input.typeahead({
source: data,
minLength: 1,
});
}, 'json');
input.change(function(){
var current = input.typeahead("getActive");
$('#country_id').val(current.id);
});
});
</script>
</body>
</html>
Это JSON результат:
[{"id":"1","province":"Aruba","city":"Aruba, ABW"},{"id":"2","province":"Afghanistan","city":"Afghanistan, AFG"},{"id":"3","province":"Angola","city":"Angola, ARU"},{"id":"4","province":"Anguilla","city":"Anguilla, AIA"},{"id":"5","province":"Albania","city":"Albania, ALB"},{"id":"6","province":"Andorra","city":"Andorra, AND"},{"id":"7","province":"Netherlands Antilles","city":"Netherlands Antilles, ANT"},{"id":"8","province":"United Arab Emirates","city":"United Arab Emirates, ARE"},{"id":"9","province":"Argentina","city":"Argentina, ARG"},{"id":"10","province":"Armenia","city":"Armenia, ARM"},{"id":"11","province":"American Samoa","city":"American Samoa, ASM"},{"id":"12","province":"Antarctica","city":"Antarctica, ATA"},{"id":"13","province":"French Southern territories","city":"French Southern territories, ATF"},{"id":"14","province":"Antigua and Barbuda","city":"Antigua and Barbuda, ATG"},{"id":"15","province":"Australia","city":"Australia, AUS"},{"id":"16","province":"Austria","city":"Austria, AUT"},{"id":"17","province":"Azerbaijan","city":"Azerbaijan, AZE"},{"id":"18","province":"Burundi","city":"Burundi, BDI"},{"id":"19","province":"Belgium","city":"Belgium, BEL"},{"id":"20","province":"Benin","city":"Benin, BEN"},{"id":"21","province":"Burkina Faso","city":"Burkina Faso, BFA"}]
, например, я хочу этот результат после поиска aru
из обоих вместе колонкой (province
и city
) в базе данных, и показать мне поиск в качестве следующего изображения:
Я удивляюсь, что 'site_url + 'typeahead/home/json_search_country'' на ваш взгляд идет откуда? – may