mysql查询是否有下一级_使用带有mysql查询结果的php获取父级下的所有子级,孙级等节点...

博主正尝试使用邻接列表数据模型在MySQL中构建层次结构数据。他们能获取多维数组,但需进一步处理以包含所有子级和孙级节点。他们寻求一个PHP函数fetch_recursive($id),接收ID并返回所有同级及下级节点的数组,而不想创建完整的树结构。
摘要由CSDN通过智能技术生成

我一直在试图解决这个问题,但是我什么都没走,希望有人可以救我。

我的问题是我正在使用邻接列表数据模型在mysql中生成我的层次结构数据。我可以将表(见下文)检索到多维数组中,并且每个项目都具有关联数组。我想要做的就是一旦得到这个数组,我想得到另一个数组,其所有节点(子,孙等)都位于父ID(包括父项)下。我只是无法锻炼如何在其中编写代码的PHP。

在MySQL中,我的表如下所示:

id name parent_id

1 Electronics 0

2 Televisions 1

3 Portable Electronics 1

4 Tube 2

5 LCD 2

6 Plasma 2

7 Mp3 Players 3

8 CD Players 3

9 2 Way Radios 3

10 Flash 7

我可以使用此代码将所有行检索到与此相关的数组中。

$r = mysql_query("SELECT * FROM test ");

$data = array();

while($row = mysql_fetch_assoc($r)) {

$data[] = $row;

}

获得结果:

Array

(

[0] => Array

(

[id] => 1

[name] => Electronics

[parent_id] => 0

)

[1] => Array

(

[id] => 2

[name] => Televisions

[parent_id] => 1

)

[2] => Array

(

[id] => 3

[name] => Portable Electronics

[parent_id] => 1

)

[3] => Array

(

[id] => 4

[name] => Tube

[parent_id] => 2

)

[4] => Array

(

[id] => 5

[name] => LCD

[parent_id] => 2

)

[5] => Array

(

[id] => 6

[name] => Plasma

[parent_id] => 2

)

[6] => Array

(

[id] => 7

[name] => Mp3 Players

[parent_id] => 3

)

[7] => Array

(

[id] => 8

[name] => CD Players

[parent_id] => 3

)

[8] => Array

(

[id] => 9

[name] => 2 Way Radios

[parent_id] => 3

)

[9] => Array

(

[id] => 10

[name] => Flash

[parent_id] => 7

)

)

有了这些结果,我想用一个ID将其过滤掉。

举例来说,我想要便携式电子设备下每个节点的ID为3的关联数组。(使用ID作为代码)

它将返回一个包含ID为行的数组:

3便携式电子产品(必须包括选定的母体)

7 Mp3播放器(儿童)

8个CD播放器(儿童)

9 2路收音机(儿童)

10 Flash(大孩子)

如果Flash有孩子,它将也返回那些孩子。

因此,最终结果将返回与上面的数组类似的数组,但是仅包含那些项。

请注意:我没有使用创建树结构的多维数组的函数(已经有解决方案)。我想构建一个函数:fetch_recursive($

id)来接收ID并返回其中的所有项目该级别以及以下级别等

希望这可以帮助

提前致谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值