Ciao a tutti,
ho implementato uno script (questo: w w w. phpro.org/articles/Highlight-Search-Words.html) per evidenziare i risultati di una ricerca.
Il problema è che mi effettua la ricerca solo sulla prima riga del campo scheda_field.
questo è il codice:
Codice PHP:
<?php
$query_rs_scheda = sprintf("SELECT *, MATCH(scheda_field) AGAINST('$colname_rs_scheda' IN BOOLEAN MODE) AS `score` FROM schede WHERE MATCH(scheda_field)
AGAINST ('$colname_rs_scheda' IN BOOLEAN MODE) ORDER BY `score` DESC", GetSQLValueString($colname_rs_scheda, "text"));
$rs_scheda = mysql_query($query_rs_scheda, $conn) or die(mysql_error());
$row_rs_scheda = mysql_fetch_assoc($rs_scheda);
$totalRows_rs_scheda = mysql_num_rows($rs_scheda);
function highlightWords($risultati, $words)
{
foreach ( $words as $word )
{
$risultati = str_ireplace($word, '<span class="highlight_word">'.$word.'</span>', $risultati);
}
return $risultati;
}
$risultati = $row_rs_scheda['scheda_field'];
$words = $_POST['ricerca'];
$risultati = highlightWords($risultati, $words);
?>
stampo i risultati
<?php echo $risultati?>
cosa sbaglio?
grazie mille.