前段时间我问了一个关于 SO 上的嵌套循环的问题,事实上,在我的示例的循环中存在查询,我得到了明确的答案:
永远不要将 SQL 查询放入循环中
从那以后我一直在尝试,而且大部分都有效。只需要努力并编写一个查询即可一次检索您需要的所有内容。
但是,当您有一个来自 JOIN 查询的数据集,其中包含您需要以嵌套方式输出的嵌套数据时,您会怎么做?
来自表 A 和 B 的连接示例:
A.a | B.a | B.b
--------|----------|-------------
fruits | banana | yellow
fruits | apple | red
animals | zebra | black&white
animals | elefant | gray
animals | fox | red
planets | earth | blue
planets | mars | red
好的,现在我将所有内容放在数组或行集中,现在我需要显示类似的内容:
水果
- 黄色香蕉
- 红苹果
动物
- 黑白斑马
- 灰象
- 红狐
行星
- 蓝色地球
- 红色火星
似乎很明显它应该可以工作,但是我现在已经尝试过好几次了,但我就是想不出一个解决方案。
目前我这样做是我的老方法:
查询组 foreach 组 { 查询组中的动物 动物 }
但是,嘿,永远不要将 sql 放入循环中。那我该怎么办?我做PHP,但我认为这是一个元问题。