$miavar='abcd';

Potrei sbagliarmi ma ,oltre che la mancanza del break a fine case, non riuscirai mai a fargli valutare una variabile simile. Se tu la inizializzi con una stringa case:switch valuterà la stringa non le lettere contenute in essa. Devi trovare il modo di valorizzare $miavar ogni volta (prima con "a", poi prende il valore b poi il valore c e via dicendo (tipo recupero valori in $_GET o $_POST).
Es:
Codice PHP:
switch ($miavar){case 'a'
Case:switch valuterà se il valore di miavar è "a", ma non troverà corrispondenza visto che miavar sarà valorizzata come stringa 'abcd'. Altra cosa, non capisco gli short tag interni al ciclo...quelli li apri all'inizio dello script e li chiudi alla fine, non ha senso usarli in quel modo.
Es:
Codice PHP:
<?php 
switch ($miavar) {     
case 
'a':          
       
$sqlA mysql_query(" SELECT * FROM `a` WHERE Idfascicolo = $id ");
       while(
$vara mysql_fetch_array($sqlA))     {
       
//fai quel che ti serve
       
}    
       break;
//continua blocco valutazione fino in fondo
}//chiudi blocco valutazione
?>//chiudi tag php
In pratica, devi rivedere diverse cose.