te sufiero que valides primero si las variables POST vienen con datos y si es asi las concatener a la query, si no vienen con nada es poco optimo que las agregues a la query final.
valida asi if (isset($_POST['variable'])) .$query "wher campo=".$_POST['variable']."'";
ademas para hacer mas funcional la cosa y que no busque resultados exactos, que las consultas de campos las hagas con like en la query
eso suerte.