我正在学习PHP和mySQL,需要一些帮助来创建一些代码来构建基于父子元素的层次结构菜单。深层次将是1个孩子。
这是表结构:
CREATE TABLE `businessprocess` (`bp_id` int(11), `bp_order` int(11), `bp_name` varchar(50), `bp_parent` int(11), `bp_active` tinyint(1), `dp_id` int(11)) ENGINE=InnoDB;
这个数据:
INSERT INTO `businessprocess` (`bp_id`, `bp_order`, `bp_name`, `bp_parent`, `bp_active`, `dp_id`) VALUES
(1, 1000, 'Solicitud de Servicios (fijo y movil)', NULL, 1, 1),
(2, 1100, 'Personas', 1, 1, 1),
(3, 1200, 'Empresas', 1, 1, 1),
(4, 2000, 'Baja de Servicio', NULL, 1, 1),
(5, 2100, 'Personas', 4, 1, 1),
(6, 2200, 'Empresas', 4, 1, 1),
(7, 2300, 'Defunción', 4, 1, 1),
(8, 2400, 'Tercero', 4, 1, 1),
(9, 3000, 'Modificacion de Servicio', NULL, 1, 1),
(10, 4000, 'Recambio de Equipo', NULL, 1, 1),
(11, 3100, 'Personas o Empresas', 9, 1, 1),
(12, 3200, 'Tercero', 9, 1, 1),
(13, 4100, 'Personas o Empresas', 10, 1, 1),
(14, 4200, 'Tercero', 10, 1, 1);
这是PHP中菜单所需的输出:
Solicitud de Servicios (fijo y movil)
--Personas
--Empresas
Baja de Servicio
--Personas
--Empresas
--Defunción
--Tercero
Modificacion de Servicio
--Personas o Empresas
--Tercero
Recambio de Equipo
--Personas o Empresas
--Tercero
任何帮助都非常感谢。谢谢! AC
答案 0 :(得分:0)
首次运行
SELECT bp_id, `bp_name` FROM `businessprocess` WHERE bp_parent IS NULL
每个返回的结果运行
的第二个SELECT `bp_name` FROM `businessprocess` WHERE bp_parent IS NOT NULL AND `bp_parent` = bp_id(gotten from the previous result)
它应该显示你需要的东西