我想知道谷歌如何进行搜索,假设我的数据库中有一条名为圣约翰路的道路,我在我的ajax-auto-sugestion字段中输入...
圣约翰
如何自动选择显示与内容相似的道路,但不使用 .或数据库中的 '
如果我开始打字...
圣。约翰
然后它当然会显示我使用的建议。
这可以做到吗?
我的字段具有道路的正确名称,我使用 utf8_general_ci 作为道路名称字段,并使用 LIKE 方法来获取结果。
最佳答案
您在服务器上使用什么来让用户与您的 MySQL 服务器进行交互?通常人们使用 PHP 之类的东西来处理数据库和用户端 HTML 之间的信息。
要纯粹在 MySQL 中执行此操作(我不确定这是否是您想要实现的目标),您可以使用
UPDATE table
SET field_name = replace( replace(field_name, '.', ''), '"'. ' ' );
这将同样替换没有空格的句点,以及只有一个空格的空格的句点。
我认为在 PHP 中做这类事情更容易,你可以使用 str_replace .
这样您最终将使用
$address = ($_POST['address']);
$address = str_replace('.', '', $address);
这可以在写 LIKE
之前完成。 MySQL 中的语句。您可以阅读有关 LIKE
的更多信息此处声明:MySQL Like Operator
哪里$_POST['address']
从 <input>
返回用户输入地址并通过表单提交的元素。在 ajax 中执行此操作并自动完成/自动选择有点困难,因为在键入操作时发送 AJAX 请求并不简单。当然其他人可以帮助解释这一点,但我唯一一次做过基于 AJAX 的自动建议,我是通过 PHP 从 MySQL 预加载数组的。我确信谷歌不会这样做。
关于Mysql:如何在对给定字符串执行 LIKE 之前删除列中除字母和数字之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615866/