pues esa pregunta es mas de programacion pero le voy a dar un ejemplo para que se guie y pueda mejorar su codigo
Código PHP:
<?
$consulta = "select * from tabla where 1=1";
if ($variable1 != "")
$consulta = $consulta." and campo1 = $variable1";
if ($variable2 != "")
$consulta = $consulta." and campo2 = $variable2";
if ($variable3 != "")
$consulta = $consulta." and campo3 = $variable3";
if ($variable4 != "")
$consulta = $consulta." and campo4 = $variable4";
$resultado = mysql_query($consulta);
?>
solo va formando el string con toda la consulta dependiendo los datos que haya seleccionado el usuario y de ultimo ejecuta lo que se formo y listo.