自动完成建议框无法正常工作?

时间:2017-09-20 12:09:53

标签: php mysql autocomplete

代码:

<?php
  include('config.php');
  $return_arr = array();
  $term = $_GET['term'];
  $term = str_replace('.','',$term);
  $sql = "SELECT * FROM submission where keyword like '%".$term."%' or companyname like '%".$term."%' ORDER BY CASE WHEN keyword LIKE '%".$term."%' THEN 1
  ELSE 2 END";
  $r = mysqli_query($link,$sql);
  while($row = mysqli_fetch_assoc($r))
  {
    $key = explode(",", $row['keyword']);
    foreach ($key as $keyword) 
    {
      $return_arr[] = $keyword;
    }  
  }
  echo json_encode($return_arr);
?>

enter image description here

在我的代码中,我创建了一个自动完成建议框并且其工作但是如果我写(i)它总是显示结果(a)字母表为什么不(i)并且还想要用短的搜索,它总是显示错误的结果名称。那么,我该怎么办呢?请帮帮我。

谢谢

2 个答案:

答案 0 :(得分:3)

如果您想比较结果maxbincount输入字符,请从开头删除maxbincount

start with

答案 1 :(得分:2)

您在查询中使用了%$term%。因此,无论数据是否将搜索到的关键字存储在字符串中的任何位置,它都会显示给您。因此,如果您要使用特定字符搜索数据,请从查询开头删除%,使其成为$term%

$sql = "SELECT * FROM submission where keyword like '".$term."%' or companyname 
like '".$term."%' ORDER BY CASE WHEN keyword LIKE '".$term."%' THEN 1
ELSE 2 END";