Php jquery自动完成组合查询

Php jquery自动完成组合查询,php,jquery,json,autocomplete,jquery-autocomplete,Php,Jquery,Json,Autocomplete,Jquery Autocomplete,我有一个php/mysql站点正在运行,它基本上跟踪应该在确定时间内运行的任务。 我被要求对用户进行分析,这样其中一个就看不到另一个的项目。 到目前为止还不错,差不多完成了,一般来说,通过创建一个角色表和用户限制条件中的查询来解决它 我遇到了一个我没想到会发生的问题。在我的搜索/筛选表单中,我有一个使用DB连接的jquery自动完成文本区域,因此用户可以按任务名称进行搜索。 现在,当我(仅)更改获取任务名称的查询时,自动完成不再起作用 该查询很好,它返回的结果与以前的结果相同,只有很少的结果,因

我有一个php/mysql站点正在运行,它基本上跟踪应该在确定时间内运行的任务。 我被要求对用户进行分析,这样其中一个就看不到另一个的项目。 到目前为止还不错,差不多完成了,一般来说,通过创建一个角色表和用户限制条件中的查询来解决它

我遇到了一个我没想到会发生的问题。在我的搜索/筛选表单中,我有一个使用DB连接的jquery自动完成文本区域,因此用户可以按任务名称进行搜索。 现在,当我(仅)更改获取任务名称的查询时,自动完成不再起作用

该查询很好,它返回的结果与以前的结果相同,只有很少的结果,因为新的条件,没有其他更改

工作自动完成:

html:

php:


不使用此php:

<?php
include ('../connect-db.php');
include ('session_check.php');
$q = trim(strip_tags($_GET['term']));

$qstring = "SELECT t.name as value 
FROM CO_SERV AS s, CO_APP AS ap, CO_USERS AS u, CO_GROUPS AS g, CO_GROUP_ROLES AS gr, TASKS AS t
WHERE name LIKE '%".$q."%' 
AND g.ID_G = u.ID_G
AND s.ID = gr.ID_S
AND g.ID_G = gr.ID_G
AND ap.ID_AP = gr.ID_AP
AND u.ID_U = '3' //example id user to test it will be a post
AND t.servico = s.ID
AND ap.ID_AP = t.app
AND t.public = '1'
AND t.ative = '1'
AND gr.ative = '1'";
$result = mysql_query($qstring);

while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  $row['value'] = iconv('ISO-8859-1', 'UTF-8', $row['value']);
  $row_set[] = $row;
}
echo json_encode($row_set);
?>

此查询很好,返回的结果与其他查询相同,唯一的区别是它仅限于用户权限 看不出有什么问题

感谢您的任何帮助:)

致意
Gonçalo

检查浏览器控制台的“网络”选项卡,并确保(i)auto complete正在请求search.php(ii)search.php生成结果(iii)结果是有效的JSONIn Firebug控制台响应和HTML显示为“null”,请忘记它!!问题是include('../connectdb.php');好连接到生产数据库,我正在开发中构建东西,所以生产中仍然不存在表!!哼!所以没问题,一切正常。谢谢Salman,有时候花点时间调试是值得的
$( "#task" ).autocomplete({
  source: "includes/search.php",
  minLength: 2,
  select: function( event, ui ) {
  log( ui.item ? "" + ui.item.value :
  "Nothing selected, input was " + this.value );}
});
<?php
include ('../connect-db.php');

$q = trim(strip_tags($_GET['term']));

$qstring = "SELECT name as value FROM TASKS WHERE name LIKE '%".$q."%' AND public='1' AND active='1'";
$result = mysql_query($qstring);

while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  $row['value'] = iconv('ISO-8859-1', 'UTF-8', $row['value']);
  $row_set[] = $row;
}
echo json_encode($row_set);
?>
<?php
include ('../connect-db.php');
include ('session_check.php');
$q = trim(strip_tags($_GET['term']));

$qstring = "SELECT t.name as value 
FROM CO_SERV AS s, CO_APP AS ap, CO_USERS AS u, CO_GROUPS AS g, CO_GROUP_ROLES AS gr, TASKS AS t
WHERE name LIKE '%".$q."%' 
AND g.ID_G = u.ID_G
AND s.ID = gr.ID_S
AND g.ID_G = gr.ID_G
AND ap.ID_AP = gr.ID_AP
AND u.ID_U = '3' //example id user to test it will be a post
AND t.servico = s.ID
AND ap.ID_AP = t.app
AND t.public = '1'
AND t.ative = '1'
AND gr.ative = '1'";
$result = mysql_query($qstring);

while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
  $row['value'] = iconv('ISO-8859-1', 'UTF-8', $row['value']);
  $row_set[] = $row;
}
echo json_encode($row_set);
?>