以下の表から、次のようにデータを取得するにはどうすればよいでしょうか。
Heading 1 Eg: Kitchenware
Heading 2 Eg: Knives
Heading 3 Eg: Butter Knives
Item: Cut em all
Item: Cull em all
Item: Smear em all
Heading 3 Eg: Meat Knives
Item: Cut em meat
Item: Cull em meat
Item: Smear em meat
レベル 1 と 2 は見出しであり、アイテムを保持できません。レベル3はアイテムを保持できます。レベル4はアイテムです。上記の対応は可能でしょうか。場合によっては、レベル 1 の後にレベル 3 が来ることがあります。
"id" "name" "description" "level" "parent" "country" "maxLevel"
"1" "Kitchenware" "Kitchenware description" "1" "0" "US" "0"
"2" "Knives" "All our knives" "2" "1" "US" "0"
"3" "Butter Knives" "All Butter Knives" "3" "2" "US" "0"
"4" "Cut em all" "Cut em all" "4" "3" "US" "0"
"5" "Cull em all" "Cull em all" "4" "3" "US" "0"
"6" "Smear em all" "Smear em all" "4" "3" "US" "0"
"7" "Meat Knives" "All Meat Knives" "3" "2" "US" "0"
"8" "Cut em meat" "Cut em meat" "4" "7" "US" "0"
"9" "Cull em meat" "Cull em meat" "4" "7" "US" "0"
"10" "Smear em meat" "Smear em meat" "4" "7" "US" "0"
テーブルの作成
CREATE TABLE `products` (
`id` INT(10) NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
`description` VARCHAR(240) NULL DEFAULT NULL,
`level` TINYINT(1) NULL DEFAULT '0',
`parent` INT(10) NULL DEFAULT '0',
`country` VARCHAR(2) NULL DEFAULT NULL,
`maxLevel` INT(1) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
表データ
INSERT IGNORE INTO `products` (`id`, `name`, `description`, `type`, `parent`, `country`, `maxLevel`) VALUES
(1, 'Kitchenware', 'Kitchenware description', 1, 0, 'US', 0),
(2, 'Knives', 'All our knives', 2, 1, 'US', 0),
(3, 'Butter Knives', 'All Butter Knives', 3, 2, 'US', 0),
(4, 'Cut em all', 'Cut em all', 4, 3, 'US', 0),
(5, 'Cull em all', 'Cull em all', 4, 3, 'US', 0),
(6, 'Smear em all', 'Smear em all', 4, 3, 'US', 0),
(7, 'Meat Knives', 'All Meat Knives', 3, 2, 'US', 0),
(8, 'Cut em meat', 'Cut em meat', 4, 7, 'US', 0),
(9, 'Cull em meat', 'Cull em meat', 4, 7, 'US', 0),
(10, 'Smear em meat', 'Smear em meat', 4, 7, 'US', 0);