Ciao simonemar, cerco di interpretare quanto hai scritto
quando parli di diversi form da compilare ti riferisci in realta a dei campo input di tipo testo giusto?
Nella query puoi fare l'append solo per i campi riempiti e ti consiglio di scrivere il testo della query dentro una variabile, non nel parametro della funzione.
Esempio:
//Recupero valori
$campo1 = $_POST['campo1'];
$campo2 = $_POST['campo2'];
$campoN = $_POST['campon'];
//Composizione query
$sql = 'SELECT * FROM tabella1 WHERE 1=1'
$sql .= RecuperaFiltro($campo1,'nomecampotabella1');
$sql .= RecuperaFiltro($campo2,'nomecampotabella2');
$sql .= RecuperaFiltro($campoN,'nomecampotabellaN');
$query=mysql_query ($sql,$db);
//Funzione di accodamento
La funzione RecuperaFiltro($valore_input, $nome_colonna) da scrivere deve verificare l'input inserito e qualora il valore del parametro inserito sia diverso da null deve restituire la stringa:
" and " . $nome_colonna . " = "'" . $valore_input . "'";
Ovviamente devi anche prevedere una validazione dei dati inseriti in input...