Mysql 自动完成问题
我正在使用执行自动完成搜索。问题在于SQL中,只有在多个单词按顺序排列时,才会显示自动完成 示例:敏捷的棕色狐狸跳过了懒狗。 如果搜索Mysql 自动完成问题,mysql,autocomplete,Mysql,Autocomplete,我正在使用执行自动完成搜索。问题在于SQL中,只有在多个单词按顺序排列时,才会显示自动完成 示例:敏捷的棕色狐狸跳过了懒狗。 如果搜索quick,它将显示包含quick的所有结果。但是如果我搜索quick lazy,它不会显示任何内容。另一方面,如果我搜索quick brown,它将显示上面的句子 如何使搜索以任意顺序自动完成多个单词 这是SQL: $sRequest = "SELECT * FROM `table` WHERE `columnname` LIKE '%{$sParam}%'
quick
,它将显示包含quick
的所有结果。但是如果我搜索quick lazy
,它不会显示任何内容。另一方面,如果我搜索quick brown
,它将显示上面的句子
如何使搜索以任意顺序自动完成多个单词
这是SQL:
$sRequest = "SELECT * FROM `table` WHERE `columnname` LIKE '%{$sParam}%' ORDER BY `columnname`";
$aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
foreach ($aItemInfo as $aValues) {
echo $aValues['columnname'] . "\n";
}
您应该拆分单词数组以搜索并生成如下查询:
SELECT * FROM `table`
WHERE `columnname` LIKE '%{$sParam1}%'
AND `columnname` LIKE '%{$sParam2}%'
AND `columnname` LIKE '%{$sParam3}%'
ORDER BY `columnname`";