【发布时间】:2018-08-13 06:53:30
【问题描述】:
我遇到了一个 SQL 查询问题,我想继续使用 PHP。 这是我的数据库的结构:
表格:部分
+------------+---------------+-----------------+--+--+
| section_id | section_titel | section_text | | |
+------------+---------------+-----------------+--+--+
| 1 | Section One | Test text blaaa | | |
+------------+---------------+-----------------+--+--+
| 2 | Section Two | Test | | |
+------------+---------------+-----------------+--+--+
| 3 | Section Three | Test | | |
+------------+---------------+-----------------+--+--+
表格:sub_sections
+----------------+-------------------+------------------+-----+--+
| sub_section_id | sub_section_titel | sub_section_text | sId | |
+----------------+-------------------+------------------+-----+--+
| 1 | SubOne | x1 | 1 | |
+----------------+-------------------+------------------+-----+--+
| 2 | SubTwo | x2 | 1 | |
+----------------+-------------------+------------------+-----+--+
| 3 | SubThree | x3 | 3 | |
+----------------+-------------------+------------------+-----+--+
这些部分通过第二个表(sub_sections)中的“sId”链接。 因此,标题为“SubOne”的小节是 ID 为 1 的小节(来自小节表)的子小节。
我正在使用此查询来获取结果:
SELECT section_titel as t1, sub_section_titel as t2
FROM sections LEFT JOIN sub_sections ON section_id = sId;
我的输出如下所示:
Array
(
[0] => Array
(
[t1] => Section One
[t2] => SubOne
)
[1] => Array
(
[t1] => Section One
[t2] => SubTwo
)
)
所以问题是,我得到了表“部分”的多个结果。我需要这样的结果:
Array
(
[0] => Array
(
[t1] => Section One
[t2] => Array
(
[0] => SubOne
[1] => SubTwo
)
)
)
有没有办法做到这一点?非常感谢!
谢谢, J. Doe ;)
【问题讨论】:
-
可以,只是将一维数组转化为多维数组
-
你想要
Section 2的任何输出,它没有小节吗? -
如果您询问查询是否会输出这样的数组,答案是:不会。但是您可以轻松地遍历此结果并创建所需的数组。我要写一个例子。
-
我不认为我只能转换这个输出,因为这些数据中实际上没有链接逻辑。我想要一个只有一个空数组“t2”的第二部分的输出。感谢您的帮助。
-
标题不是链接逻辑吗?好吧,我赞成你的问题,因为这是显示表格数据的好方法。 :)