Cosa c'è di sbagliato in quello che ho scritto:

Codice PHP:
$query "";
reset ($keys);
while (list(,
$parola) = each ($keys))
$parola trim($parola);
if (
$parola != "")
$query .= "nome LIKE '%$parola%' OR marca LIKE '%$parola%' OR descrizione LIKE '%$parola%' OR ";
}
$query .= "0";

$query="SELECT id, nome, marca, descrizione, prezzo FROM negozio WHERE categoria='$categoria' AND $query"
Mi dovrebbe fare la ricerca solo nei campi che hanno come categoria una indicata, invece esegue la ricerca in tutti i campi... perchè?

Grazie