【发布时间】:2009-04-22 20:52:27
【问题描述】:
前段时间我在 SO 上问过a question about nested loops,事实上,在我的示例的循环中存在查询,我得到了明确的答案:
永远不要将 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 但我认为这是一个元问题。
【问题讨论】:
标签: join loops nested-loops