【问题标题】:Table structure for menus in mySQLmySQL 中菜单的表结构
【发布时间】:2010-12-23 22:06:43
【问题描述】:

我需要有关表结构的建议。

我需要动态创建菜单。

会有超过 3 个菜单。

有些菜单会有多级结构。

构建菜单表的最佳方式是什么?

  1. 所有菜单都在一个表中
  2. 每张桌子应该有一张桌子
  3. 还有其他的吗??

请告诉我您对动态生成菜单的经验或常见做法。

【问题讨论】:

    标签: php mysql menu table-structure


    【解决方案1】:

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

    这会很有帮助, 在 ASP.NET 中从数据库中动态填充菜单项

    【讨论】:

      【解决方案2】:

      假设你的菜单树不是很大,所谓的邻接表将是最简单的选择

      id   
      parent_id
      title
      other fields
      

      对于顶级菜单 parent_id = 0

      请参阅Managing Hierarchical Data in MySQL 了解更多讨论和其他选项

      【讨论】:

        【解决方案3】:

        对于大多数结构来说,使用 parent_id 应该足够了,但是如果您在性能方面遇到困难(关于深度递归),您还应该研究 Modified Preorder Tree Traversal

        【讨论】:

          【解决方案4】:

          你可以使用这样的结构:

          表名:菜单 id - 主键 menu_id - 对父菜单项的引用 标题 - 菜单的标题 (您需要的任何其他数据)

          这样你就可以拥有无​​限的关卡... 当然这不是唯一的方法...

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-10-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-22
            • 2017-06-07
            相关资源
            最近更新 更多