... también... crear tres arreglos (Provincias, poblaciones y establecimientos) e irlos consultando en cierto órden... uuede resultar.
Aunque, creo yo, la filosofía deberia de ser el ocupar lo que se inventó para hacernos más fáciles esas labores. Dicho sea, ocupar una función MySQL.
Pero intenta... create algo y si te encuentras con problemas publicalas.
Como consejo: quizá el proceso (diagrama de flujo) sea similar a los ocupados en los selects que llenan otros selects... Por ahí ví un ejercicio de tres cumbo box... pero no recuerdo donde
... pero sé que es en JavaScript... Ve a la FAQ#1 de aquel foro y ve el proceso... ojo! que no te digo que sea ese código el que te sirva... sino que el flujo, la lógica, pueda ayudarte.
La mejor de las suertes!