Иерархия категорий (по порядку) с использованием PHP MySQL - PullRequest
4 голосов
/ 29 декабря 2010

Я пытаюсь ЗАКАЗАТЬ все мои категории и подкатегории в иерархии:

Суть в том, как получить их из MySQL ORDERLY (используя поле 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 Ответ

5 голосов
/ 29 декабря 2010

Вы хотите пройти по дереву, используя SQL?Это невозможно с моделью списка смежности, вы должны использовать модель вложенных множеств Тогда вы можете просто ORDER BY left получить все дерево в правильном порядке.

...