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

标签 php mysql database hierarchy

我正在尝试ORDER我的层次结构中的所有类别和子类别:

重点是如何从 MySQL 中按顺序获取它们(使用 POSITION 字段)

  • Cat A --> 位置 10
    • 子类别 1 --> 位置 10
    • Sub_Sub_Cat 1 --> 位置 20
      • Sub_Sub_Cat 2 --> 位置 10
    • Sub_Cat 2 --> 位置 30
  • 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 ;

最佳答案

您想使用 SQL 遍历树吗?这对于邻接表模型是不可能的,你必须使用 nested sets model .然后,您只需 ORDER BY left 即可按正确的顺序获取整棵树。

关于php - 使用 PHP MySQL 的类别层次结构(按顺序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554968/

相关文章:

php - 错误 1 ​​错误 : `make' failed when installing sqlsrv

php - jquery ajax使用php json编码获取数据库结果

javascript - 如何在服务器上保存带有图像的 jsPDF?

MySQL : Select from table based on shape of arabic character in a column

php - 如何输出正确的数据库行

sql - ER图设计疑惑

php - 使用 php mysql 值的进度条

php - MySQL 中的浮点值本身

database - 事件记录设计模式?

php - 将购物车数据插入数据库