最初我创建表名作为empdetails。
empdetails CREATE TABLE `empdetails` (
`ID` int(9) NOT NULL,
`Emp_Name` varchar(30) default NULL,
`Supr_ID` int(9) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
插入数据为:
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '1','Project Manager 1','0');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '2','Project Manager 2','0');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '3','Manager 1','1');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '4','Manager 2','2');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '5','Lead 1','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '6','Lead 2','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '7','Lead 3','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '8','Lead 4','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '9','Lead 5','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '10','Lead 6','3');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '11','Emp 1','6');
insert into `empdetails` (`ID`,`Emp Name`,`Supr ID`) values ( '12','Emp 2','7');
我的问题 :
- 如果我给 id 那么它将显示 emp_names 任何 emp_names 包含与 Supr_id 相同的 id 也递归(这个问题是用于打印子节点)。
示例:如果我将 1 作为输入,则将 emp_names 输出为Project Manager 1、Manager 1、Lead 1、Lead 2、Lead 3、Lead 4、Lead 5、Lead 6、Emp 1、Emp 2
- 如果我给 id 那么它将显示 emp_names 任何 emp_name 包含 id 作为当前 emp_names Supr_id (这个问题是用于打印父节点)
示例:如果我给出 10 作为输入,则将 emp_names 输出为Emp 1、Lead 2、Manager 1、Project Manager 1
请解决这两种情况....
提前致谢。