Tendrías que haber comentado que usas Base de datos ..
Sobre todo eso hay un montón de "tratados" y soluciones várias (cada una con sus ventajas y desventajas) .. una de ella la que tu mismo "deducistes" y también te propuse yo (considero que para el volumen de ramas que vas a tener no hace falta complicarse con otros métodos).
Puedes ver teoría y ejemplos resueltos en:
http://www.tonymarston.net/php-mysql...structure.html
También puedes ver códigos (classes) ya hechas en sitios como:
www.phpclasses.org (busca por "tree").
Un saludo,