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

Php 如何使用提交按钮将用户id添加到另一个表中,php,mysql,join,Php,Mysql,Join,我正在创建一个网站,允许用户查看所需的“团队”,然后点击一个按钮就可以加入他们 我有我的用户表,其中包含:用户id、用户名、团队id 然后,我有我的团队表,其中包含:团队id、团队名称、团队球员 如何让用户加入一个组,每个用户一次只能加入一个团队。您应该首先将团队id字段作为外键添加到用户表中,并允许其为空 然后,您将以html格式显示团队名称,每个团队都有一个单选按钮 在PHP文件中(应设置为窗体的操作),根据分配给每个单选按钮的值创建if语句。在每个if块中,执行sql UPDATE语句,将

我正在创建一个网站,允许用户查看所需的“团队”,然后点击一个按钮就可以加入他们

我有我的用户表,其中包含:用户id、用户名、团队id

然后,我有我的团队表,其中包含:团队id、团队名称、团队球员


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

您应该首先将团队id字段作为外键添加到用户表中,并允许其为空

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


在PHP文件中(应设置为窗体的操作),根据分配给每个单选按钮的值创建if语句。在每个if块中,执行sql UPDATE语句,将适当的组ID添加到正确的用户实例中。

如果希望每个用户能够加入多个团队,并且每个团队都有多个用户,则需要一个“联接表”

团队用户将包含团队id用户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'
即使您只希望玩家一次加入一个团队,您也可能希望使用“加入”表,以防您改变主意。这很容易。要仅允许每个用户有一个团队,请在join表中的user\u id上设置唯一约束。如果以后决定允许多个团队,只需删除该约束即可

如果用户尝试“加入团队”操作,您只需在连接表中检查用户id是否存在

SELECT * FROM teams_users WHERE user_id = $user_id
如果它确实存在,您将检索其匹配的团队id,并告诉他们,“对不起,您已经加入了“流氓”团队。如果您想加入另一个团队,您必须离开该团队。”如果他们放弃他们的团队,您只需执行以下操作:

DELETE from teams_users WHERE user_id = 5
如果他们添加了一个团队,您只需执行以下操作:

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

插入查询仅在它们不在团队中时才起作用。如果是,您将收到一条错误消息。您还可以查看“重复密钥更新时插入…”查询。但是我建议不要这样做,因为你想在用户更换团队之前警告他们。

hi@Danned,如果你写了一些代码可以共享,我们可以帮助你在mysql中开发它,你可以创建一个组,例如,从表中选择*,其中user\u id=yourviable group by team\u name或user\u id,重点是“group by”你想成为一个团队吗“我只想让一个成员只属于一个组,因此,如果他们当前不在一个组中,则可以为null,然后一旦用户决定加入另一个团队,他们列将使用新的团队ID更新。通过一个联接表,您可以轻松地从团队中添加和删除用户。您还可以很容易地更改为允许一个用户只需很少的工作就可以拥有多个团队。我通常会后悔没有在可能的时候使用联接表。以后需要做更多的工作。@Dannad如果您需要进一步的澄清,请随时询问。如果任何答案解决了您的问题,请单击复选标记将其标记为正确。