Allora: Intanto prendi i dati dal modulo; se il dato non é vuoto, ci associ una variabile con dentro una condizione:
Codice PHP:
$campo1= isSet($_POST["campo1"]) ? $_POST["campo1"] : ""; if (!$campo1) {$condizione1=""} else {$condizione1="AND campo1='$campo1'"};
$campo2= isSet($_POST["campo2"]) ? $_POST["campo2"] : ""; if (!$campo2) {$condizione2=""} else {$condizione2="AND campo2='$campo2'"};
$campo3= isSet($_POST["campo3"]) ? $_POST["campo3"] : ""; if (!$campo3) {$condizione3=""} else {$condizione3="AND campo3='$campo3'"};
Poi fai la tua brava query al database; attenzione ad inserire almeno una condizione reale prima delle condizioni-variabile (in questo caso sono 2= prezzominimo e prezzomassimo).
Codice PHP:
$nomeSQL=mysql_query("SELECT * FROM tabella WHERE prezzo>'$prezzominimo' AND prezzo<'$prezzomassimo' $condizione1 $condizione2 $condizione3 ORDER BY nome" );
Nel caso non dovessi mettere prezzo minimo e prezzo massimo, potresti mettere una condizione "fasulla", tipo:
Codice PHP:
$nomeSQL=mysql_query("SELECT * FROM tabella WHERE id!='' $condizione1 $condizione2 $condizione3 ORDER BY nome" );
In questo modo, se un campo viene lasiato vuoto, non influirà sulla ricerca.
Ho scritto tutto al volo, se esce qualche difetto, debuggalo tu!
Spero di essere stato chiaro!