如何使用提交按钮将用户id添加到另一个表中


How to add user id to another table with a submit button

我正在创建一个网站,允许用户查看所需的"团队",然后单击一个按钮即可加入他们。

我有我的用户表,其中包含:user_id、user_name、team_id

然后,我有我的团队表,其中包含:team_id、team_name、team_layers

我该如何让用户加入一个组,每个用户一次只能在一个团队中。

如果您希望每个用户都能够加入多个团队,并且每个团队都有多个用户,那么您需要一个"加入表"

teams_users将包含team_iduser_id。您可以在team_id、user_id上创建一个复合主键(防止用户两次加入同一个团队)。

然后你可以得到一个团队:

SELECT * FROM users t1 right join teams_users t2 ON t1.team_id = t2.team_id WHERE t2.team_name = 'the rascals'

即使你一次只想让球员加入一支球队,你可能仍然想使用加入表,以防你改变主意。这将是非常容易的。为了每个用户只允许一个团队,请在联接表中对user_id设置唯一约束。如果您以后决定允许多个团队,只需删除该限制即可。

如果用户尝试"加入团队"操作,只需检查加入表中是否存在user_id。

SELECT * FROM teams_users WHERE user_id = $user_id

如果它确实存在,则检索其匹配的team_id并告诉他们,"对不起,你已经加入了‘流氓’团队。如果你想加入另一个团队,你必须离开该团队。"如果他们放弃了他们的团队,你只需:

DELETE from teams_users WHERE user_id = 5

如果他们增加了一个团队,你只需要:

INSERT INTO teams_users ($team_id, $user_id) #// (assuming PHP variables).

只有当他们还不在团队中时,INSERT查询才会起作用。如果是,您将收到一条错误消息。您还可以查看"INSERT ON DUPLICATE KEY UPDATE…"查询。但我建议不要这样做,因为你想在用户更换团队之前警告他们。

您应该首先将team_id字段作为外键添加到users表中,并允许其为NULL。

然后,您将以html形式显示团队名称,每个团队都有一个单选按钮。

在PHP文件(应该设置为表单的操作)中,根据分配给每个单选按钮的值创建if语句。在每个if块中,执行一个sqlUPDATE语句,该语句将向正确的用户实例添加适当的group_ID。