Как бы меню и сейчас работает, но, это статичный html код, который занимает лишнее место.
Теоретически выглядеть должно как то так:
(символ ';' прошу считать как отдельные колонки в таблице бд)
Элемент 1;0;1
Элемент 2;1
Элемент 3;0;2
А после обработки вот так:
<ul>
<li>Элемент 1
<ul>
<li>Элемент 2</li>
</ul></li>
<li>Элемент 3</li>
</ul>
Главная проблема в том, чтобы распаковать.