数据库中的JQuery自动完成表单失败

时间:2015-12-16 20:45:36

标签: javascript php jquery autocomplete

我正在关注教程(http://www.pontikis.net/blog/jquery-ui-autocomplete-step-by-step),我尝试使用本地phpmyadmin数据库,使用安装在我PC上的Xampp。

我有一个名为汽车的表格,其中列 ID 名称,我填写了2个条目,但是,自动填充功能没有&#39事实上,我没有在我的表格下面得到任何建议。由于我不能用所有的JS文件打扰你,也许有人可以解释这究竟是什么,特别是最后的 while 函数,因为我认为这就是问题:

$sql = 'SELECT id, name FROM cars';
for($i = 0; $i < $p; $i++) {
  $sql .= ' AND name LIKE ' . "'%" . $conn->real_escape_string($parts[$i]) . "%'";
}


while($row = $rs->fetch_assoc()) {
  $a_json_row["id"] = $row['id'];
  $a_json_row["value"] = $row['name'];
  $a_json_row["label"] = $row['name'];
  array_push($a_json, $a_json_row);
}

2 个答案:

答案 0 :(得分:1)

您没有在SQL语句中声明WHERE。查询可能失败,产生零自动完成选项。

$sql = 'SELECT id, name FROM cars';
for($i = 0; $i < $p; $i++) {
  if ($i == 0){ $sql.= " WHERE"; } // THIS LINE HERE
  $sql .= ' AND name LIKE ' . "'%" . $conn->real_escape_string($parts[$i]) . "%'";
}

答案 1 :(得分:0)

我对此问题的解决方案:

while($cars=mysql_fetch_array($query)){
         $json[]=array(
                    'value'=>$cars["name"],
                    'label'=>$cars["name"]
                        );
    }

 echo json_encode($json);