1

在我们的在线商店 (PHP/MySQL) 上,对于我们的类别结构,我们使用 Bill Karwin 描述的传递闭包表(祖先、后代、长度)。

我发现它非常灵活和有用,但不知道如何在没有递归的情况下打印完整的类别树。这可能吗?

例如,我想要一个类似于以下内容的输出:

  • 声音的
    • 便携的
      • MP3
  • 计算
    • 光驱
      • DVD-RW
    • 输入设备
      • 无线
        • 键盘
  • 家用设备
  • 电视
    • 液晶显示器
      • 宽屏
    • 阴极射线管

可选地受总类别深度的限制。

这是该模型的限制,还是有解决方法?目前我一直在使用递归并缓存结果。

4

1 回答 1

2

递归是最简单的方法——尤其是用于显示时。

或者,您可以按照此答案中的建议从 MySQL 执行此操作如何在分层类别树中找到我的节点及其锚点的所有兄弟姐妹?

于 2011-06-30T11:55:05.030 回答