Вопрос

Мне нужны советы по структуре таблицы.

Мне нужно создавать меню динамически.

Там будет более 3-х меню.

Некоторые меню будут иметь многоуровневую структуру.

Каков наилучший способ структурирования таблиц меню?

  1. Все меню представлены в одной таблице
  2. В каждой таблице должна быть одна таблица
  3. Какой-нибудь другой??

Пожалуйста, поделитесь со мной своим опытом или распространенными практиками для динамически генерируемых меню.

Это было полезно?

Решение

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

id   
parent_id
title
other fields

для меню верхнего уровня родительский_id = 0

видеть Управление иерархическими данными в MySQL для дальнейшего обсуждения и других вариантов

Другие советы

Вы могли бы использовать структуру, подобную этой:

имя таблицы:menu id - первичный ключ menu_id - ссылка на родительский пункт меню title - название меню (любые другие необходимые данные)

таким образом, вы можете иметь неограниченное количество уровней...конечно , это не единственный способ ...

Использование родительского_id должно быть достаточным для большинства структур, однако, если вы застряли в производительности (что касается глубокой рекурсии), вам также следует изучить Модифицированный обход дерева предзаказа.

http://www.codeproject.com/Tips/354696/Dynamically-populating-menu-items-from-the-databas

это будет полезно, Динамическое заполнение пунктов меню из базы данных в ASP.NET

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top