gpt4 book ai didi

php - 优化 SQL 表以选择注册特定事件的参与者

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:54 24 4
gpt4 key购买 nike

我正在用 php 开发参与者事件注册网络应用程序,遇到了以下问题:

我们在大学举办了多项技术盛会事件,参与者大约有 4000 人。在登记处,参与者必须报名参加事件(单人/多人)。在某一时刻,管理员必须能够锁定事件,以便参与者不能再注册该事件(意味着事件已经开始)。然后,管理员需要能够打印出所有已注册每个事件的人的列表(锁定后)。

我们想到了这个:

  • “参与者”表中的每个事件都有一个 BOOLEAN 列
  • 有一个多选字段作为事件输入的接口(interface)
  • implode() 接收到的数组
  • explode() 结果
  • 设置foreach explod()ed事件,针对参与者设置BOOLEAN为1

所以当管理员想要打印时,让所有参与者将事件名称的 BOOLEAN 设置为 1

这看起来有点难看,我们希望有人有更好的主意来解决这个问题。谢谢。

最佳答案

听起来您可以使用一些规范化。 “每个事件的 bool 列”。那么如果你有 50 个事件,你就有 50 个列?拥有一个事件表、一个用户表和一个“events_users”表来链接两者会更有意义,例如:

create table events_users (
user_id int,
event_id int,
primary key (user_id, event_id),
foreign key (user_id) references users (id),
foreign key (event_id) references events (id)
);

“锁定”字段进入事件表。然后让参与者很容易:

select user_id
from events_users
where event_id = XXX

关于php - 优化 SQL 表以选择注册特定事件的参与者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com