hum.. lo que tienes es valido, tu primer planteamiento es mas valido aunque depende de como tienes el diseño de la tabla y de como realizarias las funciones para construir el menu.. mira este ejemplo.. puede que te ayude en algo..
http://forum.imasters.com.br/index.php?showtopic=192384