Me parece que es por lo siguiente:
1º- Te da la primera opcion (case 0) porque la variable $tabla no esta inicializada ni captura un valor de ningun sitio... con lo cual su valor es cero.
2º -Te hace un bucle infinito porque el contenido de la variable $enviar no cambia nunca durante la ejecucion del bucle (has pensado que igual no necesites el bucle?).