当我搜索它时,如果我在db中写了lastname或firstname,那么就不会给我带来好结果。空的msg也不行。由于
这是我的控制者:
class Search extends CI_Controller{
function index(){
$this->load->view('search_view');
}
function search_users(){
$this->load->model('search_model');
if (isset($_GET['term'])){
$q = strtolower($_GET['term']);
$this->search_model->search($q);
}
}
}
这是型号:
class Search_model extends CI_Model{
function search($q){
$this->db->select('*');
$this->db->like('CONCAT(user_profiles.firstn, " ", user_profiles.lastn)', $q);
$query = $this->db->get('user_profiles');
$query = $this->db->get('user_profiles');
$row_set = array();
$temp = array();
if($query->num_rows > 0){
foreach ($query->result_array() as $row){
$temp['id'] = $row['id'];
$temp['label'] = $row['firstn'].' '.$row['lastn'];
$row_set[] = $temp;
}
echo json_encode($row_set);
}
}
}
这是我的观点:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<style type="text/css">
#empty-message { float: left; }
input { float: left }
</style>
<input type="text" id="search" />
<script>
$(function(){
$('#search').autocomplete({
source: "search/search_users",
minLength:0,
response: function(event, ui) {
if (ui.content.length === 0) {
$("#empty-message").text("No results found");
}
else {
$("#empty-message").empty();
}
}
});
});
</script>
如果我使用$ this-&gt; db-&gt; last_query()并在标签中加上'a',它会给我这个查询:
SELECT *
FROM (`user_profiles`)
WHERE CONCAT(user_profiles.meno, " ", user_profiles.priezvisko) LIKE '%a%'
这就是结果:
[{"id":"5","label":"Janosik icloud"},{"id":"7","label":"Janosik iicloud"},{"id":"8","label":"Janosik Smrdi"}]
但如果我把其他字母写成空白页面没有最后查询没有结果
这是我的表
id - user_id - role - firstn - lastn - birthd - city avatar - profil_pic
1 -
1 -
管理员 -
Aykon -
艾科诺夫 -
1990-06-09 -
Zilina -
空值 -
空 -
5 - 6 - 用户 - Janosik - icloud - 1999-05-06 - Zilina - 空值 - 空 -
6 - 7 - 用户 - Aykon - 外表 - 1800-06-08 - 空值 - 空值 - 空 -
7 - 8 - 用户 - Janosik - iicloud - 1000-08-09 - 空值 - 空值 - 空 -
8 - 9 - 用户 - Janosik - Smrdi - 0000-00-00 - 空值 - 空值 - 空 -
答案 0 :(得分:0)
$q
$q
$q
是否正确发送给您的模型。答案 1 :(得分:0)
我希望这会对你有所帮助 在控制器
function search($q)
{
$this->db->select('firstn,lastn');
$this->db->like('CONCAT(user_profiles.firstn, " ", user_profiles.lastn)', $q);
$query = $this->db->get('user_profiles');
$row_set = array();
$temp = array();
if($query->num_rows > 0)
{
foreach ($query->result_array() as $row)
{
// give your id
$temp['id'] = $row['id'];
// give your label
$temp['label'] = $row['label'];
$row_set[] = $temp;
}
}
echo json_encode($row_set);
die;
}
在视图中
<script>
$(function(){
$('#search').autocomplete({
source: "search/search_users",
minLength:0,
response: function(event, ui) {
var c = ui.content.length;
check_data(c);
}
});
});
function check_data(data)
{
if(data === 0)
{
$("#empty-message").text('No results found');
}
else
{
$("#empty-message").text( '' );
}
}
</script>