php - 使用 MySQL 和 PHP 中的名称进行智能最接近匹配检测

标签 php mysql

<分区>

假设我有一个如下所示的 MySQL 表,其中包含组织中的名称列表以及每个名称的 ID。

id      name
1       John Doe
2       Richard Smith
3       Jane Market
...     ...

给定的用户将查询此人的名字和/或姓氏(可能会使用拼写错误和昵称),php 应该返回最接近他们查询的匹配项。

例如,如果用户输入“ricky”(Richard 的昵称),它应该返回 Richard Smith 的 ID。

最佳答案

对于昵称,您必须创建一个单独的 MySQL 表,并进行查找(多对一关系)。

对于拼写错误,您将不得不循环所有姓名并将它们与用户使用 levenshtein 输入的内容进行比较功能,或 similar_text功能。用户提供的注释会有所帮助。

关于php - 使用 MySQL 和 PHP 中的名称进行智能最接近匹配检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943324/

相关文章:

mysql - 如何让 bash 将命令的一部分解释为 MySQL 命令

php - 想要使用 php 显示各自父测试下的子测试

MySQL 5.6 Innodb 耗尽单表表空间 ID

php - 插入数据库,echo 显示正确的值,UPDATE 乘以它?

php - 在下拉列表中选择 True 或 False 应在 mysql 表中反射(reflect)为 o 和 1

php - Cookies的过期时间

PHP file_put_contents : failed to open stream: Protocol error

php - 如何从日期搜索?

php - 我在这里做错了什么? [php]

php - whmcs 为每个客户端选择两个自定义字段值 php mysql