De entrada tendras que trabajar con alguna tecnologia del lado servidor para obtener los datos de la bbdd, una vez optenidos puedes montar el menu dinámico con esa misma tecnologia o pasando los datos al lado cliente con javascript o incluso con css.
Es muy sencillo con CSS
http://www.cristalab.com/tutoriales/...-listas-c130l/ http://www.cssmenumaker.com/
puesto que estan basdos en listas.
En cuanto a optener los datos php, jsp son los mas recomendables tambien tines la familia asp de microsoft....
Quim