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 ^__^