Y te da algun error? Yo suelo usar antes de un switch de ese tipo, algo asi
  Código PHP:
    $categoria = isset($_GET['categoria']) ? $_GET['categoria'] : '' ;
switch($categoria) {
//blablablah
} 
    
  No creo que tenga que ver (aunq quien sabe xD).. pero de nuevo, te da algun error o simplemente no pone nada? prueba poner un error_reporting(E_ALL); al comienzo del script para que muestre los posibles errores que pueda tener.