【发布时间】:2018-03-01 11:52:45
【问题描述】:
代码:
<?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) 并且还想用简短的搜索姓名。那么,我该怎么做呢?请帮帮我。
谢谢
【问题讨论】:
-
如果你去掉第一个 % 那么它需要从 i 开始
-
分享搜索结果的例子,如果你有
aaai,那么ia会同时显示,aaai会先出现,就像aaai,ia一样 -
您的意图是:当您编写 (i) 时,您想要以 (i) 开头的结果,或者它包含 (i) 就足够了。因此,它依赖于您的 sql 部分
...like '%i%'或... like 'i%' -
那个 ^ - 因为第一个
%- 放弃它! -
@delboy1978uk 是真的!
标签: php mysql autocomplete