Cita: Habia pensado hacer un if con cada condicion, pero seria un codigo bastante largo y un poco tonto porque seguro que hay una manera mejor de hacerlo.
No, no es tonto. Es lo que se hace habitualmente.
Si lo vas a hacer con ajax, pues es lo mismo. En lado servidor, te fijas que filtros seleccionó/completó el usuario usando una serie de condicionales, y en base a esos modificas tu consulta sql.