使用PHP MySQL的类别层次结构(按顺序)

时间:2010-12-29 14:34:32

标签: php mysql database hierarchy

我正在尝试订购我的所有类别和子类别:

重点是如何从MySQL订购它们(使用 POSITION 字段)

  • Cat A - >第10位
    • Sub-Cat 1 - >第10位
    • Sub_Sub_Cat 1 - >第20位
      • Sub_Sub_Cat 2 - >第10位
    • Sub_Cat 2 - >第30位
  • Cat B - >第20号位置
  • Cat C - >第30位

MySQL代码:

 CREATE TABLE IF NOT EXISTS `categories` (
   `category_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
   `position` smallint(5) unsigned,
   `parent_id` mediumint(8) unsigned NOT NULL DEFAULT '0'
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;

1 个答案:

答案 0 :(得分:5)

您想使用SQL遍历树吗?使用邻接列表模型是不可能的,您必须使用nested sets model。然后你可以ORDER BY left以正确的顺序获得整棵树。