我在页面上有一个搜索功能,当用户在按下提交时键入搜索词时,它会检查数据库并在页面上显示数据库中的相应记录(它使用%Like%查询)。
然而,用户可能会拼错。无论如何它仍然可以搜索数据库并显示一些结果。即颜色存储在数据库中,但用户搜索颜色 - 我们是否可以更改WHERE子句以确保颜色被拉过来?
代码如下:
//// Contains the search term from the form
$searched_club = $_GET['username'];(form is a PHP_SELF)
if($searched_club == ''){
$sql = "SELECT name, region FROM jos_users ORDER BY id DESC LIMIT 6";
}else{
$sql = "SELECT name, region FROM jos_users WHERE name LIKE '%$searched_club%'";
}
$rsd = mysql_query($sql, $dbconn);
<table>
while($rs = mysql_fetch_array($rsd)) {
$name = $rs['name'];
$region = $rs['region'];
?>
<tr>
<td><?php
echo $name;
?></td>
<td><?php
echo $region;
?></td>
</tr>
<?php
}
?>
</table>
答案 0 :(得分:3)
您可以使用the string function soundex()
获取表示所提供字符串的一种可听模式的字符串。如果两个字符串不同但听起来相似,则它们应该产生相同的soundex()
结果。字符串如下:
在SELECT
查询中,您可以使用快捷方式SOUNDS LIKE
来比较两个字符串的soundex()
:
SELECT * FROM SomeTable WHERE SomeField SOUNDS LIKE SomeInputValue