说明在先:数据整合部分参考了网上博客;但是数据输出是自己写的,使用了递归;
数据归类解释:利用pid(子级)=id(父级);让子级循环的时自己去找父级在哪儿,然后加入其中;
递归:里面需要注意,flag(|–)的问题,下一个父级兄弟要少一个flag(|–)
数据表结构:
CREATE TABLE `NewTable` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`pid` int(10) UNSIGNED NOT NULL ,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
PRIMARY KEY (`id`),
INDEX `pid` (`pid`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT;
源数据
INSERT INTO `test1` VALUES (1, 0, 'menu1');
INSERT INTO `test1` VALUES (2, 0, 'menu2');
INSERT INTO `test1` VALUES (3, 0, 'menu3');
INSERT INTO `test1` VALUES (4, 0, 'menu4');
INS