【发布时间】:2010-12-23 22:06:43
【问题描述】:
我需要有关表结构的建议。
我需要动态创建菜单。
会有超过 3 个菜单。
有些菜单会有多级结构。
构建菜单表的最佳方式是什么?
- 所有菜单都在一个表中
- 每张桌子应该有一张桌子
- 还有其他的吗??
请告诉我您对动态生成菜单的经验或常见做法。
【问题讨论】:
标签: php mysql menu table-structure
我需要有关表结构的建议。
我需要动态创建菜单。
会有超过 3 个菜单。
有些菜单会有多级结构。
构建菜单表的最佳方式是什么?
请告诉我您对动态生成菜单的经验或常见做法。
【问题讨论】:
标签: php mysql menu table-structure
http://www.codeproject.com/Tips/354696/Dynamically-populating-menu-items-from-the-databas
这会很有帮助, 在 ASP.NET 中从数据库中动态填充菜单项
【讨论】:
假设你的菜单树不是很大,所谓的邻接表将是最简单的选择
id
parent_id
title
other fields
对于顶级菜单 parent_id = 0
请参阅Managing Hierarchical Data in MySQL 了解更多讨论和其他选项
【讨论】:
对于大多数结构来说,使用 parent_id 应该足够了,但是如果您在性能方面遇到困难(关于深度递归),您还应该研究 Modified Preorder Tree Traversal。
【讨论】:
你可以使用这样的结构:
表名:菜单 id - 主键 menu_id - 对父菜单项的引用 标题 - 菜单的标题 (您需要的任何其他数据)
这样你就可以拥有无限的关卡... 当然这不是唯一的方法...
【讨论】: