比较字符串并在PHP中生成建议

时间:2012-07-17 10:13:29

标签: php mysql

我有一个字符串(名称)列表,我希望与包含这些名称相同或差异的数据库匹配。 对于我想要匹配的每个字符串,我可以查询数据库,但这似乎并不高效,因为数据库是一组修复名称。

我想知道是否可以在PHP中完成此匹配。我可以在PHP中使用levenshtein函数,但我想知道是否有更高效的函数。

我想要的例子。左边是我想看的所有字符串,如果我在数据库中有这个(或一个小的差异)。在每个旁边,我想有一个下拉列表,其中包含与之匹配的选项。

  • 字符串1 - 下拉
  • 字符串2 - 下拉
  • 字符串3 - 下拉

最好的方法是什么?我有大约500-1000个字符串,我希望得到一个建议/下拉菜单。

亲切的问候

拉​​尔夫

2 个答案:

答案 0 :(得分:0)

或许看看MySQL的全文搜索功能。我在DevZone上发现了这篇文章:http://devzone.zend.com/26/using-mysql-full-text-searching/

答案 1 :(得分:0)

如果你想在客户端进行,jQuery UI Autocomplete就是你想要的。这不仅非常容易根据您的需要进行配置,而且只需要一个查询即可获得所有字符串并将其保存到本地列表(jQuery自动完成数据源)。

然后,您可以为输入注册onkeyup事件,jQuery插件将查询现有的缓存数据源(不会给您的服务器带来更多压力)。

检查出来: http://jqueryui.com/autocomplete/