gpt4 book ai didi

PHP + mySQL 递归选择创建层次菜单

转载 作者:行者123 更新时间:2023-11-29 20:57:40 24 4
gpt4 key购买 nike

我正在学习 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

非常感谢任何帮助。谢谢!交流

最佳答案

首次运行

 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)

它应该显示您需要的内容

关于PHP + mySQL 递归选择创建层次菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com