【发布时间】:2013-05-23 16:14:05
【问题描述】:
我无法以有效的方式打印出考勤表。这样做可能有一个术语,但我不知道它会是什么,所以我在寻找解决方案时遇到了麻烦。数据透视表已接近,但还不够。
我有一个这样布局的 MySQL 数据库(简化):
Log_events(event_id, event_name, ...)
Log_members(member_id, member_name, ...)
Log_attendance(member_id, event_id, ...)
Log_events 包含该活动的所有数据,Log_members 包含每个成员的所有数据,Log_attendance 包含一个成员每次参加活动时的双 id 条目。
我正在尝试打印一个表格(使用 PHP 的 HTML 表格),其中所有事件都作为列,然后所有成员作为行。然后,使用 log_attendance 表,我会在成员参加活动的每个表格单元格中打印一个勾号或一些信息,有点像这样:
姓名 |事件1 |事件2 |事件3 ---------------------------------- 会员1 | X | X | X 会员2 | | X | 会员3 | X | | X在没有大量嵌套查询的情况下,我无法弄清楚如何做到这一点。我将如何有效地做到这一点?
这是我试图打印出来的好东西的一个例子: http://www.worldoflogs.com/guilds/30890/character/
【问题讨论】:
-
您对可以显示的事件数量有什么限制吗?
-
好吧,我的计划是展示一个月的所有事件,每个显示大约 16 个事件
-
我最终使用了 GROUP_CONCAT,等到所需的 8 小时过去后,我会在这里发布答案。
标签: php mysql sql html-table