使用PHP MySQL的类别层次结构(按顺序)
我试图对层次结构中的所有类别和子类别进行排序: 重点是如何有序地从MySQL获取它们(使用位置字段)使用PHP MySQL的类别层次结构(按顺序),php,mysql,database,hierarchy,Php,Mysql,Database,Hierarchy,我试图对层次结构中的所有类别和子类别进行排序: 重点是如何有序地从MySQL获取它们(使用位置字段) Cat A-->位置10 子类别1-->位置10 Sub_Sub_Cat 1-->位置20 Sub_Sub_第2类-->位置10 Sub_第2类-->位置30 B类-->位置20 C类-->位置30 MySQL代码: CREATE TABLE IF NOT EXISTS `categories` ( `category_id` mediumint(8) unsigned NO
- Cat A-->位置10
- 子类别1-->位置10
- Sub_Sub_Cat 1-->位置20
- Sub_Sub_第2类-->位置10
- Sub_第2类-->位置30
- B类-->位置20
- C类-->位置30
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 ;
是否要使用SQL遍历树?这在邻接列表模型中是不可能的,您必须使用。然后你只需按左键排序,就可以将整棵树按正确的顺序排列。哇,这太酷了。真不敢相信我以前从没见过这个!这确实解释了一些数据库中奇怪的“lft”和“rgt”字段;)