Ho un motore di ricerca con questo codice:
Codice PHP:
$searchterm = htmlspecialchars(addslashes($_POST["search"]));
$demo = new Highlighter();
@$rech = $searchterm;
$sentence = "";
if ($searchterm == "") {
echo "<p align=\"left\">Please, specify a criteria for search.</p>";
} else {
$result = mysql_query("SELECT *, MATCH(title,text) AGAINST('$searchterm' IN BOOLEAN MODE) AS tot FROM news WHERE MATCH(title,text) AGAINST ('$searchterm' IN BOOLEAN MODE) ORDER BY tot ASC");
$nr = mysql_num_rows($result);
if ($nr!==0) {
echo "[i]Result that match the news [keyword(s) highlighted].[/i]
";
while ($row = mysql_fetch_array($result)) {
$newsid = $row["news_id"];
$titolo = $row["title"];
$sentence .= "<a href=\"onefeed.php?feed=" . $newsid . "\">[b]" . $titolo . "[/b]</a>
";
}
if($demo->CheckSentence($sentence, $rech))
echo $demo->CheckSentence($sentence, $rech) ;
} else {
echo "[i]No result where the keyword(s) match the news.[/i]
";
}
}
però, se inserisco una sola parola come keyword di ricerca, funziona perfettamente, se ne inserisco due o più, benché presenti nelle tabelle in cui viene effettuata la ricerca, non mi restituisce alcun valore.
Qualcuno mi sa dare una mano?