Salve, leggendo e rileggendo sono arrivata a costruire un bel motore di ricerca. Il mio unico problema č che sbaglio con gli operatori logici e quindi la ricerca mi esce vuota...
intanto vi posto il mio codice:
codice:
....
if ($conn == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file configura.inc.php");
mysql_select_db($nomedb, $conn)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (" ", $termine);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{
$parola = trim($parola);
if ($parola != "")
$query .= "nome LIKE '%$parola%' OR sottocategoria LIKE '%$parola%' OR ";
}
$query .= "0";
foreach ($_POST['spunta'] as $value)
{
$val = "$val categoria = '$value' OR";
}
$query = "SELECT * FROM articoli WHERE $val " . $query;
$result = mysql_query($query, $conn);
$risultato = mysql_num_rows($result);
if($risultato <= 0){
....
Non riesco a capire perchč non vadano al mio caso nč gli OR nč gli XOR nč ovviamente gli AND...
Ho provato anche in quest'altro modo, ma sempre invano:
codice:
...
if ($conn == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file configura.inc.php");
mysql_select_db($nomedb, $conn)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$keys = explode (" ", $termine);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{
$parola = trim($parola);
if ($parola != "")
$query .= "nome LIKE '%$parola%' OR sottocategoria LIKE '%$parola%' OR ";
}
$query .= "0";
foreach ($_POST['spunta'] as $value)
{
$val = "$value,$val";
}
$query = "SELECT * FROM articoli WHERE categoria = '$val' " . $query;
$result = mysql_query($query, $conn);
$risultato = mysql_num_rows($result);
if($risultato <= 0){
...
Chiedo gentilmente a voi se avete una soluzione funzionale...
In sostanza io intendevo effettuare la ricerca di una o + parole SOLAMENTE nei campi delle tabelle del mio database dove voglio cercare (ovvero in questo caso nei campi NOME e SOTTOCATEGORIE) perō anche SOLAMENTE nelle categorie che un utente sceglie spuntando le checkbox che ho messo nella pagina precedente a questa.
Le checkbox nella pagina precedente le creo con il ciclo seguente:
codice:
$query = "SELECT * FROM categorie ORDER BY numord ASC";
$result = mysql_query($query,$conn) or die ("Errore nella query");
while ($row = mysql_fetch_array($result)) {
echo "<input type=\"checkbox\" name=\"spunta[]\" value=\"$row[categoria]\" checked>$row[categoria]\n";
}
Spero di essere stata chiara, se avete domande chiedete pure ^___^...
Ciao, grazie Cris ^__^