A mi entender el fallo está aquí:
Si $category es una variable de cadena, como sugieren las siguientes evaluaciones:
Código PHP:
Ver originalif ($category == 'UCI') $query .= "(1,2,3,4,5,6,7,8,9,10,11,12,13,14,51,52,61,78) ";
elseif ($category == 'ESP') $query .= "(7,8,9,10,11,12,14,80,81,82,83,84,85,86,87,88) ";
elseif ($category == 'FEM') $query .= "(7,8,14,90,91,92,93,94,95) ";
entonces no puedes compararla contra cero, porque en un contexto numérico, toda cadena con caracteres vale cero.
En todo caso, debería ser:
Código PHP:
Ver originalif ($category!="") {
$query .= "AND tipo IN ";
if ($category == 'UCI') $query .= "(1,2,3,4,5,6,7,8,9,10,11,12,13,14,51,52,61,78) ";
elseif ($category == 'ESP') $query .= "(7,8,9,10,11,12,14,80,81,82,83,84,85,86,87,88) ";
elseif ($category == 'FEM') $query .= "(7,8,14,90,91,92,93,94,95) ";
}