只是爲了便於理解:在「結果」表中有一列名爲「result_search」的列。其中一行是例如:「單詞字母句子」。搜索結果有限,搜索多個單詞時效果不佳
如果我搜索這些單詞中的任何一個,或者即使搜索「單詞字母」或「字母句子」,但我混淆搜索「句子單詞」或「字母單詞」沒有顯示結果。
我該如何解決這個問題?我會假設我需要告訴搜索引擎自己搜索每個單詞,並且只返回兩個單詞都存在的結果,但是像表格中的單詞一樣,必然會彼此相鄰? 這是我有:
<form action="search.php" method="GET">
<input type="text" name="query" />
<input type="submit" value="Search" />
</form>
<?php
$query = $_GET['query'];
$min_length = 3;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM result WHERE (`result_search` LIKE '%".$query."%')") or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
echo "<p><h3>".$results['result_search']."</h3></p>";
}
}
else{
echo "No results";
}
}
else{
echo "Minimum length is ".$min_length;
}
?>
謝謝你的幫助!
你可以按空格分割你的關鍵字,然後搜索所有可能的單詞或使用或 –
選項的好概述... http://www.slideshare.net/billkarwin/practical-full-text-search-with -my-sql – barryhunter
請熟悉LIKE運算符的工作原理... – CBroe