Beh, filtraggio e ricerca non sono proprio la stessa cosa.... Comunque si, il ragionamento è quello di mettere degli if annidati per il controllo dei parametri passati, e in questo modo fai partire la query che ti interessa...almeno io so fare solo così, magari qualcuno che conosce php da più tempo di me (una settimana) conosce qualche altro modo. Anche perchè a me non interessa la velocità di risposta del server, perchè sono in locale...magari qulche query un po' più complessa in un database con molti record, può ritardare la visualizzazione (e non si tratterebbe più di filtraggio in tempo reale). Poi non so....comunque se ti serve una mano durante la stesura del codice, sarò ben felice di dartela.
Ciao!