Ho trovato in rete un semplice codice per cercare parole nel mio sito che usa MySQL, ho creato le tabelle ecc. ma se inserisco la parola da cercare mi risponde che non c'è, anche se nel sito esiste e mi da errore, vedi "
http://www.gruppoalveo.altervista.or"
Form:
<form method="post" action="cerca.php">
<input type="text" name="testo" id="size_font"> <input type="submit" value="Cerca nel sito" id="puls" style="cursor:pointer">
</form>
File cerca.php
<?php
//Richiama i parametri di connessione al db
require_once "connessione.php";
$testo = htmlspecialchars($_POST["testo"]);
Parola cercata:
if (isset($testo) == false || $testo == " ")
{
echo "<span style=\"color:#008000;\">Nessun risultato</span>";
}
else
{
echo "<span style=\"color:#008000; font-family:verdana; font-style:italic;\">$testo</span>";
}
if (isset($testo) == false || $testo == "")
{
echo "<span style=\"color:#008000; font-family:verdana; font-style:italic;\">???</span>";
?>
<p style="color:#ff0000;">Non hai inserito la parola da cercare!</p>
<?
}
else
{
$arr_txt = explode(" ", $testo);
$sql = "SELECT * FROM cerca_parole WHERE ";
for ($i=0; $i<count($arr_txt); $i++)
{
if ($i > 0)
{
$sql .= " AND ";
}
$sql .= "(titolo LIKE '%" . $arr_txt[$i] . "%' OR descrizione LIKE '%" . $arr_txt[$i] . "%')";
}
$sql .= " AND cat_id = art_categoria ORDER BY art_timestamp DESC";
$query = mysql_query($sql, $cn);
$quanti = mysql_num_rows($query);
if ($quanti == 0)
{
?>
<p style="color:#ff0000;">Nessun risultato!</p>
<?
}
else
{
for($x=0; $x<$quanti; $x++)
{
$rs = mysql_fetch_row($query);
$id = $rs[0];
$titolo = $rs[1];
?>
<p><a href="leggi.php?id=<?echo $id?>"><?echo $titolo?></a></p>
<?
}
}
}
?>