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