我的数据库中有这些数据:
我尝试选择要以特定群组形式显示的数据,如下所示:
首先,我想要获取所有数据并使用while loop
进行显示,但这样做会使表单显示来自列hp_lessons
的重复数据。如何通过仅使用一个查询来查询它以获取第二张图片中预期输出的确切数据?
答案 0 :(得分:1)
您可以尝试使用MySQL中的函数GROUP_CONCAT()
。您的请求将是:
SELECT hp_lessons, GROUP_CONCAT(hp_timeslot SEPARATOR ',') as dates
FROM myTable
GROUP BY hp_lessons
这会在结果中为您提供一个列'日期',其中包含由逗号分隔的所有相关日期的字符串。你只需要在PHP中将它爆炸以拥有一个数组。它肯定不是最好的方法,你的数据库结构并不是你想要实现的目标的最佳方式,但最终会完成这项工作。