gpt4 book ai didi

php - 在 MySQL 中,如何将包含 "similar"数据的行返回到我请求的内容?

转载 作者:行者123 更新时间:2023-11-29 01:43:01 26 4
gpt4 key购买 nike

我正在开发搜索型号的搜索功能,我正在尝试让 MySQL 显示与我要求的类似的结果,但 LIKE %$var% 没有这样做。

示例(我们称表为“tbl_models”):

    id           model
+-------+--------------------+
| 1 | DV6233SE |
| 2 | Studio 1440 |
| 3 | C762NR |
+-------+--------------------+

当使用我当前使用的搜索框进行搜索时:

SELECT id, model FROM tbl_models WHERE model LIKE %$var% ORDER BY id DESC

如果我搜索“C7”,它会返回“C762NR”,这没问题,但说我要搜索“C760”或“C700”或错字“C726NR”?在 MySQL(或 PHP、JS、jQuery)中有没有一种方法可以扩展返回结果的限制以包括不同的变体或接近匹配?

我也不是在找人为我写,只是朝着正确的方向插入会非常有帮助!

最佳答案

如果我要为你的问题应用逻辑,我会这样做。

要找到相近的匹配项 -

我将采用用户最初键入的输入参数。例如'ABCDEF'然后,我将通过用“_”替换输入参数中的每个字符,从中创建多个参数。

即'ABCDEF' 将为我生成以下输入参数。

'_BCDEF'、'A_CDEF'、'AB_DEF'、'ABC_EF'、'ABCD_F'、'ABCDE_'

然后我将输入参数传递给SQL查询并使用OR运算来查找数据。

以上方法会给我相差 1 个字符的单词。

我可以通过用 UNDERSCORE 替换 2 个字符,然后是 3 个字符,然后是 4 个等等来稍微扩展一下。

最多我必须替换多少个字符,应该取决于字符串的长度。

关于php - 在 MySQL 中,如何将包含 "similar"数据的行返回到我请求的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14421846/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com