我需要有关表结构的建议。
我需要动态创建菜单。
将有3个以上的菜单。
一些菜单将具有多级结构。
构建菜单表的最佳方式是什么?
- 所有菜单都在一张桌子上
- 每张桌子应该有一张桌子
- 任何其他??
请给我你的经验或动态生成菜单的常见做法。
我需要有关表结构的建议。
我需要动态创建菜单。
将有3个以上的菜单。
一些菜单将具有多级结构。
构建菜单表的最佳方式是什么?
请给我你的经验或动态生成菜单的常见做法。
假设您的菜单树不是很大,所谓的邻接列表将是最简单的选项
id
parent_id
title
other fields
对于顶级菜单 parent_id = 0
有关进一步讨论和其他选项,请参阅在 MySQL 中管理分层数据
你可以使用这样的结构:
表名:菜单 id - 主键 menu_id - 对父菜单项的引用 title - 菜单的标题(您需要的任何其他数据)
这样你就可以有无限的水平......当然这不是唯一的方法......
对于大多数结构来说,使用 parent_id 应该足够了,但是如果你在性能上遇到困难(关于深度递归),你还应该研究Modified Preorder Tree Traversal。
http://www.codeproject.com/Tips/354696/Dynamically-populating-menu-items-from-the-databas
这将很有帮助,从 ASP.NET 中的数据库中动态填充菜单项