Hola,
No se si te servira, pero en las FAQs tienes un mensaje sobre mostrar resultados en columnas:
http://www.forosdelweb.com/showthrea...669#post240669
Usa for, pero es facil pasar de for a while y viceversa.
El mayor problema que veo en tu codigo es que muestras el <tr> y el </tr> para la misma iteraccion ($fila=0). Si te fijas en el codigo HTML creado por tu codigo veras que no es un codigo HTML correcto (<td> sin <tr>). Se vera algo porque los navegadores son muy permisivos.
Lo que tu quieres es mostrar <tr> cuando $fila=0 y </tr> cuando $fila=3.
Suerte.