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.