molto interessante alcune precisazioni abbi un po di pazienza:
1. perchè per vedere se la variabile è definita usi var(<>) e non ad esempio la funzione empty? <> cosa sifnifica?
2. praticamente se una o tutte e tre levaribili sono definite fai la query con solo le variabili definite altrimenti fai la query senza usare la funziona where e quindi mi seleziona tutti i campi. che idea sei un grande. io sono novizio del php e ancora non ho le fondamenta abbastanza solide
3. io ho costruito la query con questa struttura
select tab1.colonna1, tab2.colonna3 FROM tab1, tab2 WHERE tab1.id = tabb.rif AND tab1id = var1 per cui con questa struttura dovrei cambiare il tuo script cosi giusto?


query = select tab1.colonna1, tab2.colonna3 FROM tab1, tab2 WHERE tab1.id = tabb.rif

if (var1<>'') or (var2<>'') or (var3<>'') {
Query = Query .
concatena = " and ''

//adesso devi verificare , una per una, le variabili.

if (var1<>'') {
Query = Query . (nome campo) . "=" . (var1)
concatena = " and "
}

if (var2<>'') {
Query = Query . concatena . (nome campo) . "=" . (var2)
concatena = " and "
}

//e lo fai per le variabili che ti servono
}
Query = Query . ";"