Normal que se quede en blanco si no existe :S por que estás buscando lo que hay dentro de esas dos variables y si no existe, ¿que va a mostrar?, digo yo que es lógico, lo que puedes hacer es poner dentro de la consulta en vez de
Código:
WHERE (province='$provincia' OR zone='$zona')
pones
y luego, encima de la consulta
Código:
if (!empty($provincia) or empty($zona)) {
$where="WHERE (province='$provincia' OR zone='$zona')";
}
así solo se pondrá el where si alguna de las dos variables tienen algo y sino, pues no se pondrá el where y saldrá todo lo que haya en la tabla.
saludos.