Как заполнить список динамических навигационных меню, следуя моим структурам таблиц, используя php (codeigniter) и mysql

Я пытаюсь создать динамический многоуровневый список навигации для одного из моих веб-приложений.
В приложении будут разные роли для разных типов членов. Таким образом, каждый член будет иметь свой собственный многоуровневый список меню в зависимости от роли. Для заполнения динамических списков меню навигации приведены следующие таблицы:

MEMBERS_MENU TABLE: (В этой таблице все участники настроены с соответствующим списком меню) -> (первое изображение)

NAVIGATION_MENU_LINK TABLE: (В этой таблице есть ссылка между родительским меню и дочерним меню) -> (второе изображение)

PARENT_MENU TABLE: (для определения родительского меню) -> (третье изображение)

CHILD_MENU TABLE: (для определения дочернего меню) -> (четвертое изображение)

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Я создаю динамическое меню навигации для разных пользователей для моего веб-приложения. Я хочу отобразить меню навигации для

MEMBER_ID 1:

НОВОСТИ

-- ALL -- PREVIEW -- SUMMARY 

AUDIO

 -- PREVIEW 

ВИДЕО

 -- ALL 

MEMBER_ID 2:

НОВОСТИ

 -- ALL -- PREVIEW 

AUDIO

 -- PREVIEW 

ВИДЕО

 -- ALL 

MEMBER_ID 3:

AUDIO

 -- PREVIEW 

ВИДЕО

 -- ALL 

Я пытался несколько часов заполнить MULTI-LEVEL NAVIGATION MENU LIST, используя приведенные выше структуры таблицы базы данных. Я пытаюсь заполнить динамический список меню с помощью FOREACH LOOP и закодирован в codeigniter и mysql. Но он не генерирует список меню, как указано выше?

Если кто-нибудь может придумать эффективный пример кода, следуя приведенным выше структурам таблицы базы данных, будет оценено достоинство.

Благодарим за ваши комментарии, коды.