Ciao a tutti, ho un problemino con un motore di ricerca che sto sviluppando.
Ho creato questo codice php ridotto ai minimi termini il codice per fare dei test...
Sul db le lettere accentate sono memorizzate con il formato ISO-8859-1, quindi "à" sul db è riportata come "à"
Ora, se dal mio motore di ricerca cerco la parola "motricità", con il codice qui sotto non mi estrae niente, dove sbaglio??
Grazie.
codice:
<?php
$cnnDB = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('miodb') or die(mysql_error());
$testo = $_GET['cerca'];
if ($testo != "")
{
$textarea=mysql_real_escape_string($testo);
$textarea = iconv('UTF-8', 'ISO-8859-1', $textarea);
if (!empty($condition)) $condition .= " AND ";
$array_txt = explode(" ", $textarea);
for ($i=0; $i<count($array_txt); $i++)
{
if ($i > 0){
$condition .= " AND ";
}
$condition .= "(titolo LIKE '%" . $array_txt[$i] . "%' OR descrizione LIKE '%" . $array_txt[$i] . "%')";
}
$query = "SELECT * FROM articoli WHERE ".$condition;
$res = mysql_query($query,$cnnDB);
$articoli = mysql_fetch_array($res);
$countArt = mysql_num_rows($res);
}
?>
<!DOCTYPE>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<form id="cerca_prodotti" name="cerca_prodotti" method="get" enctype="multipart/form-data">
<input type="text" name="cerca" id="cerca" />
</form>
<div>Query: <?php echo $query ?></div>
<div>Nr articoli: <?php echo $countArt ?></div>
</body>
</html>