ciao
posta il codice che hai fatto che proviamo a vedere
- Ciao, prima di postare il codice, volevo però capire se questo motore risponda o meno alle mie esigenze.
Io vorrei fare in modo, che se l'utente digita una parola chiave che è presente in un articolo o recensione di una delle pagine di quel sito, gli venga riportato come risultato quella determinata pagina. Forse ho capito male, ma questo script permetterebbe di ricercare solo i vari parametri inseriti manualmente o meno, nel database mysql. Potresti aiutarmi a capire anche questo aspetto?
- Per quanto riguarda il codice, ho creato prima la pagina html:
motore.html (Nome pagina)
Codice:
<form method="post" action="cerca.php">
<input type="text" name="testo">
<input type="submit" value="Cerca">
</form>
Poi ho creato la pagina php:
cerca.php (nome pagina)
Quelle in rosso sono le parti che ho modificato.
Codice:
<?
$cn = mysql_connect("[COLOR="#FF0000"]localhost[/COLOR]", "[COLOR="#FF0000"]sito76[/COLOR]", "[COLOR="#FF0000"]xxxxxx"[/COLOR]);
@mysql_select_db("[COLOR="#FF0000"]my_sito76[/COLOR]", $cn);
$testo = htmlspecialchars(addslashes($_POST["testo"]));
?>
<html><head><title>Risultati della ricerca</title></head><body>
<p>
<b>Risultati della ricerca:</b>
<?
if (isset($testo) == false || $testo == "")
{
echo "nessun risultato!";
}
else
{
echo $testo;
}
?>
</p>
<?
if (isset($testo) == false || $testo == "")
{
?>
<p>Specificare un criterio di ricerca.</p>
<?
}
else
{
$arr_txt = explode(" ", $testo);
$sql = "SELECT * FROM articoli 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>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>
<?
}
}
}
?>
</body></html>
Infine ho creato una database prova con il nome: my_sito76 (lo stesso che ho assegnato nel file php)
Ho creato alcune cartelle tramite il phpadmin e inserito del contenuto.
Quindi ho uppato tutto nel server di prova che supporta il php e ho digitato nella pagina html diverse parole chiavi, corrispondenti ai parametri inseriti manuamente nel database. In tutti i casi lo script non mi riporta nessun risultato di ricerca.
Potresti aiutarmi a capire e trovare la giusta strada, sia per il primo che per il secondo problema?
Grazie per il tuo aiuto
Ciao :byebye: