Номер ошибки: 1222
Используемые операторы SELECT имеют разное количество столбцов
Это контроллер
<?php
class Autocomplete extends CI_Controller{
function __construct() {
parent::__construct();
$this->load->model('datacomplete');
}
public function index(){
$this->load->view('view_demo');
}
public function GetCountryName(){
$keyword=$this->input->post('keyword');
$data=$this->datacomplete->GetRow($keyword);
echo json_encode($data);
}
}
?>
Это модель
<?php
class Datacomplete extends CI_Model{
public function GetRow($keyword) {
$this->db->select('collg_name,city,state,country as type');
$this->db->from('tbl_college');
$this->db->like("collg_name",$keyword);
$this->db->or_like('city',$keyword,'after');
$this->db->or_like('state',$keyword,'after');
$this->db->or_like('country',$keyword,'after');
$query1 = $this->db->get_compiled_select();
$this->db->select('course_offrd_name,category_name,subcategory_name');
$this->db->from('tbl_course_offered');
$this->db->like("course_offrd_name",$keyword);
$this->db->or_like('category_name',$keyword,'after');
$this->db->or_like('subcategory_name',$keyword,'after');
$query2 = $this->db->get_compiled_select();
$result = $this->db->query($query1." UNION ".$query2);
return $result->result();
}
}
Это вид
<!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: #000000;">
<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>
</div>
</div>
</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());
});
});
Здесь я пытаюсь найти ключевое слово из трех таблиц, используя codeigniter и ajax.
Я получаю эту ошибку в model
Как я могу решить эту проблему?
Кроме того, если проблема решена, будет ли мой поиск получать данные из базы данных.
Что не так в коде?