简单地说,你可以在这里调整循环:
$searchvar = trim($_GET['q']);
while ($row=mysql_fetch_assoc($searchResult)){
$description = str_replace($searchvar, ''.$searchvar."", $row['description']);
}为了使它更好一点:
$searchvar = explode(" ", trim($_GET['q'])); //puts each space separated word into the array.
while ($row=mysql_fetch_assoc($searchResult)){
$description = $row['description'];
foreach($searchvar as $var) $description = str_replace($var, ''.$var."", $description);
$description = str_replace($searchvar, ''.$searchvar."", $row['description']);
}第二个的好处是,如果用户键入“ipod toudch yellow”,您将搜索“ipod”,“toudch”和“yellow”,这将否定类型并使结果更加通用。
你需要换单:
like '%query%'同
foreach(explode(" ", trim($_GET['q']) as $searchvar) $where[] = "like '%$searchvar%'";
$wheresql = implode(" OR ", $where);获取每个搜索“word”以在sql中查找,或者您将使用不相关的突出显示进行有限的搜索。