Ciao a tutti,
con questo file faccio una ricerca nel DB di un termine il quale mi viene vializzato in grassetto e di colore rosso.
Il problema sorge quando il termine presente del DB non ha le stesse caratteristiche del termine ricercato Maiuscolo, Minuscolo, (esempio se cerco Micio e nel DB è presente la parola micio (tutto in minuscolo) il file mi trova il testo con la parola micio ma non la evidenzia in grassetto.
Come fare?
Codice PHP:
<?
include("../include/top_foot.inc.php");
include("config.inc.php");
top();
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (",", $_POST['chiave']);
$termine = $_POST['chiave'];
foreach ($keys as $parola)
{
$parola = trim($parola);
if ($parola != "")
$query .= "Titolo LIKE '%$parola%' OR Testo LIKE '%$parola%' OR name LIKE '%$parola%' OR ";
}
$query .= "0";
$query = "SELECT ID, Titolo, Testo, name, surname, DATE_FORMAT(Data,'%d.%m.%Y') as data_art FROM articoli WHERE " . $query;
$result = mysql_query($query, $db);
echo "Chiave di ricerca: [b] $termine [/b]
";
$valori = mysql_num_rows($result);
echo "Trovati [b]$valori[/b] risultati
";
while ($row = mysql_fetch_object($result))
{
$ricerca=$termine;
$Testo = $row->Testo;
$Testo=str_replace($ricerca,"<font color=RED>[B]".$ricerca."[/B]</font>",$Testo);
$name = $row->name;
$name=str_replace($ricerca,"[B]".$ricerca."[/B]",$name);
$surname = $row->surname;
$surname=str_replace($ricerca,"[B]".$ricerca."[/B]",$surname);
$data_art = $row->data_art;
$Titolo= $row->Titolo;
$Titolo=str_replace($ricerca,"<font color=#FF0000>[B]".$ricerca."[/B]</font>",$Titolo);
echo "<a href=\"view.php?id=$row[ID]\">" . "$data_art - " . "$name " . "$surname" .
" - $Titolo</a>
". "$Testo"."
";
}
foot();
?>