我有一个包含2个字段的表,私人和个人名称,我需要创建一个允许搜索此名称的搜索页面.问题是我需要检测拼写错误.
例如:搜索Jonh会找到John.
所以我试图用LIKE获得结果然后将字符串拆分为字符并计算JS循环中相同的字母数量.因此,如果4个或更多字符相同,我打印字符串.但由于某种原因,这并不总是有效,也许有更好的方法来做到这一点?
SELECT first_name FROM Employees WHERE first_name like '%{$first_name}%'
然后是JS:
var counted = 0; var inputFromUser = "some input".split(''); var resultCharsArray = "".split(''); for (var i = 0; i < inputFromUser.length; i++) { if ($.inArray(inputFromUser[i],resultCharsArray) { counted++; } } if (counted >= 4) { console.log(""); }
小智.. 5
是的,有一种更好的方法可以做到这一点.
你可以使用SOUNDS LIKE.然后你不需要运行任何JS.
SELECT first_name FROM Employees WHERE first_name SOUNDS LIKE 'Jonh'