mii
è tropp pesante quel sistema...
io farei così:
$parole = explode(" ",$paroladacercare);
$t = "";
foreach ($parole as $p) $t.= " AND LOCATE(LCASE('$p'),campo_dove_cercare) ";
ora farai la tua query, avendo cura di aggiungere $t, così ti restituisce i soli campi che contengono la parola o le parole che cerchi... se devi cercare in 2 campi, li aggiungerai, ovvero così:
foreach ($parole as $p) $t.= " AND ( LOCATE(LCASE('$p'),campo_dove_cercare) OR LOC...ecc )";
mettendo i 2 locate fra parentesi separati da un OR
ora che hai una lista di campi contententi ciò che cerchi, farai un while ($q = mysql_fetch_row())
e sostituisci $q['nome_campo_dove_hai_cercato'] con una funzione che metterai dove vuoi...
questa è la funzione:
function getHighLight($str,$testo)
{
//sostituisce $str con l'evidenziato cercando in $testo
$hl = "<span style=\"color: #0000BB; background-color: #75FF1F\">".strtoupper($str)."</span>";
return str_ireplace($str,$hl,$testo);
}
chiami questa funzione per visualizzarti il risultato della ricerca..
spero di averti aiutato

Rispondi quotando