Cita: ¿Por qué anidas tres whiles uno dentro de otro?
No hay necesidad de anidar tres whiles(), solo tienes un recurso que devuelve 6 registros en teoría: sólo hace falta un while() y nada más, corrige eso.
Ahora, lo de que tu diseño no funciona no lo vamos a entender mientras no hayas resuelto lo primero.