Php 使用嵌套格式对Mysql查询进行分组
我已经搜索了旧线程,但还没有找到解决以下问题的方法:是否可以在不使用嵌套查询的情况下对mysql结果进行分组和排列 请看下面的样品 我有:Php 使用嵌套格式对Mysql查询进行分组,php,mysql,html-table,cross-reference,Php,Mysql,Html Table,Cross Reference,我已经搜索了旧线程,但还没有找到解决以下问题的方法:是否可以在不使用嵌套查询的情况下对mysql结果进行分组和排列 请看下面的样品 我有: 1月,地点美国,项目DDD 1月,地点英国,项目EEE 一月,地点美国,项目LLL 2月,地点阿联酋,项目EEE 2月,地点美国,项目DDD 2月,地点英国,项目MMM 3月,地点美国,计划FFF 3月,地点阿联酋,项目FFF 3月,地点英国,计划FFF 我希望它们显示如下: column1 column2 column3 line1 34
1月,地点美国,项目DDD
1月,地点英国,项目EEE
一月,地点美国,项目LLL
2月,地点阿联酋,项目EEE
2月,地点美国,项目DDD
2月,地点英国,项目MMM
3月,地点美国,计划FFF
3月,地点阿联酋,项目FFF
3月,地点英国,计划FFF
我希望它们显示如下:
column1 column2 column3
line1 34
line2 34
line3 34
line5 34
column1 column2 column3
line1 34 34
34 34
34
line2 34
34 34 34
line3 34
line5 34
+---------++---------++---------+
|一月|二月|三月|
+---------------+---------++---------++---------+
|地点美国| | | | ||
+---------------+---------++---------++---------+
|| DDD | | DDD | FFF|
+---------------+---------++---------++---------+
|| EEE | | | ||
+---------------+---------++---------++---------+
|| LLL | | | ||
+---------------+---------++---------++---------+
|地点:英国| | | | ||
+---------------+---------++---------++---------+
|| EEE | MMM | FFF|
+---------------+---------++---------++---------+
|地点:阿联酋| | | | ||
+---------------+---------++---------++---------+
|| | EEE | FFF|
+---------------+---------++---------++---------+
我已尝试对查询进行分组,但无法将其呈现到HTML表中
SELECT
event.`event_id`,
event.`event_program_id`,
event.`event_month`,
event.`event_location_id`,
location.`location_name`,
program.`program_name`,
program.`program_shortname`
FROM
`event`
LEFT JOIN
`location`
ON
event.`event_location_id` = location.`location_id`
LEFT JOIN
`program`
ON
event.`event_program_id` = program.`program_id`;
现在它的列表如下:
column1 column2 column3
line1 34
line2 34
line3 34
line5 34
column1 column2 column3
line1 34 34
34 34
34
line2 34
34 34 34
line3 34
line5 34
我想要的是这样的:
column1 column2 column3
line1 34
line2 34
line3 34
line5 34
column1 column2 column3
line1 34 34
34 34
34
line2 34
34 34 34
line3 34
line5 34
如果预期结果中有预定义的列数,比如一年中的月份,那么可以对每个列执行一些内部查询来实现这一点 我对基于SQL的报表有过一些经验,这些报表使用了这样的子查询,最终,这个解决方案以前是一个很难管理的问题:)今天,我只是读取数据,存储在内存中的矩阵中,最后根据矩阵生成结果,以后更容易更改 干杯 下面是一个PHP示例
这里有另一个解决问题的方法
使用html作为输出的其他参考
一些例子可以帮助我更好地理解它;)添加示例;)玩得高兴在本例中,我只添加了1个级别,但您可以通过向$data数组添加更多维度来添加所需的级别。这不是一个示例,我相信这是一个完美的解决方案;)。现在它只列出数组中的一行,我们如何一次列出整行?添加一个html示例,现在使用css:D进行格式设置