Pergunta

Eu preciso conselhos para uma estrutura de tabela.

Eu preciso criar menus dinamicamente.

Haverá mais de 3 menus.

Alguns dos menus terão estruturas multi-nível.

O que é a melhor maneira de strucure as tabelas de menu?

  1. Todos os menus estão em uma tabela
  2. Cada tabela deve ter uma tabela
  3. Qualquer outro ??

Por favor, dê-me sua experiência ou práticas comuns para os menus gerados dinamicamente agradar.

Foi útil?

Solução

assumindo sua árvore de menu não é muito grande, a chamada lista de adjacência seria a opção mais simples

id   
parent_id
title
other fields

para menus de nível superior parent_id = 0

Managing dados hierárquicos em MySQL para uma discussão mais aprofundada e outros opções

Outras dicas

Você pode usar uma estrutura como esta:

nome da tabela: Menu id - chave primária menu_id - referência para o item de menu pai Título - Título do menu (Quaisquer outros dados que você precisa)

Desta forma, você pode ter níveis ilimitados ... off claro que esta não é a única maneira ...

Usando parent_id deve ser suficiente para a maioria das estruturas, no entanto, se você ficar preso em performance (com relação a recursão profunda), você também deve pesquisar modificado preorder árvore Traversal .

http: //www.codeproject. com / Dicas / 354696 / dinamicamente preenchendo-os itens do menu-de-the-databas

este será útil, Dinamicamente preencher itens de menu do banco de dados no ASP.NET

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top