$select_place = $MysqLi->query("SELECT * FROM places where title LIKE '%$searchname%' or description LIKE '%$searchname%'");
$num_place = $select_place->num_rows;
while ($rows_place = $select_place->fetch_array(MysqL_ASSOC)){
$id_place = $rows_place ['id'];
$title_place = $rows_place ['title'];
$description_place = $rows_place ['description'];
echo "<p>{$title_place}</p><br>";
}
它运作良好,但是,例如,如果你搜索单词塔如果以错误的方式写,如twer或towr它不起作用我怎样才能使它更聪明?
解决方法:
SELECT
*
FROM
places
WHERE
title LIKE '%$searchname%'
OR description LIKE '%$searchname%'
OR SOUNDEX(title) = SOUNDEX('$searchname')
OR SOUNDEX(description) = SOUNDEX('$searchname')
这将匹配你的例子中的towr和twer.
更多信息可以在这里找到:
http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_soundex
注意:
This function, as currently implemented, is intended to work well with
strings that are in the English language only. Strings in other
languages may not produce reliable results.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。