Ho già fatto una ricerca sul forum e postato successivamente in altri post, ma non sono ancora venuto a capo del mio problema.


Questo è il codice che ho nel search.php


Codice PHP:
$ricerca explode(" ",$search); 

foreach(
$ricerca AS $parola){ 

$query "SELECT *, MATCH(titolo, testo) AGAINST('+$parola -asp' IN BOOLEAN MODE) as score
FROM News
WHERE MATCH(titolo, testo) AGAINST('+
$parola -asp' IN BOOLEAN MODE) 
GROUP BY id DESC"
;

$result mysql_query($query$connection) OR DIE (mysql_error());

while (
$row mysql_fetch_assoc($result)){

$data2 "$row[data]";
$split_data explode("-",$data2);
$ora2 "$row[ora]";
$split_ora explode(":",$ora2);

echo 
"<tr height=20>";
echo 
"<td align=left valign=middle class=link_news>";
echo 
"<table width=98% border=0 cellspacing=4 cellpadding=0>";
echo 
"<tr>";
echo 
"<td width=5 class=link_news align=left>&raquo;</td>";
echo 
"<td class=testo_news align=left>[url="news.php?id_search=$row[id]><span"]$row[titolo]</span>[/url] - by <span class=link_news>$row[autore]</span> - $split_data[2]/$split_data[1]/$split_data[0]$split_ora[0]:$split_ora[1]</td>";
echo 
"</tr>";
echo 
"</table>";
echo 
"</td>";
echo 
"</tr>";

}

Faccio un esempio:
Ho 2 news (escludo per ora il testo e faccio la ricerca solo sui titoli).

1a news) titolo: News uno
2a news) titolo: News due


Nel motore di ricerca inserisco queste parole chiavi: "News uno".

Lo script mi ricerca prima la parola "News" e la troverà nelle 2 news esistenti. Mi stampa quindi 2 record.
Poi passa alla seconda parola "uno" e la troverà solo nella prima news. Mi stampa quindi 1 record.

In totale ci saranno 3 record nella schermata finale:

1) News uno // dove ha trovato News
2) News due // dove ha trovato News
3) News uno // dove ha trovato uno


Il problema è che non riesco in nessun modo a dirgli di scartare tutti i record che sono già stati trovati nella ricerca precedente, ovvero non vorrei che stampasse ancora la prima news (numero 3).

Come dovrei modificare il codice di sopra??

Thx!