Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为用户创建具有无限空间的组_Php_Mysql - Fatal编程技术网

Php 为用户创建具有无限空间的组

Php 为用户创建具有无限空间的组,php,mysql,Php,Mysql,我想编程一个系统,用户可以用它创建自己的团队,其他用户也可以加入。问题是,我不知道如何处理,如果一个用户创建了一个团队,这个团队可以容纳无限的用户 我的用户数据库如下所示:id、姓名、电子邮件、密码和团队 如果有什么不可理解的,请询问 多谢各位 致以亲切的问候 Max这实际上就是关系数据库的魅力所在 您需要三张桌子: membership中的每一行引用一个用户和一个团队 当一个给定的用户加入更多的团队时,他们可以在成员资格中有多行 给定的团队可以在成员资格中有任意数量的行,表示该团队中的玩家 在

我想编程一个系统,用户可以用它创建自己的团队,其他用户也可以加入。问题是,我不知道如何处理,如果一个用户创建了一个团队,这个团队可以容纳无限的用户

我的用户数据库如下所示:id、姓名、电子邮件、密码和团队

如果有什么不可理解的,请询问

多谢各位

致以亲切的问候
Max

这实际上就是关系数据库的魅力所在

您需要三张桌子:

membership
中的每一行引用一个用户和一个团队

当一个给定的用户加入更多的团队时,他们可以在
成员资格中有多行

给定的团队可以在
成员资格中有任意数量的行,表示该团队中的玩家

在使用关系数据库时,需要考虑行的集合


请在评论中回答您的后续问题:

您可以这样插入:

INSERT INTO membership
SET user_id = (SELECT MAX(id) FROM users WHERE name = 'hpotter'),
    team_id = (SELECT MAX(id) FROM teams WHERE name = 'gryffindor');
或者可以使用变量:

SELECT MAX(id) INTO @user_id FROM users WHERE name = 'hpotter';
SELECT MAX(id) INTO @team_id FROM teams WHERE name = 'gryffindor';

INSERT INTO membership SET user_id = @user_id, team_id = @team_id;

从teamid=1的团队的用户表中选择COUNT(*)作为“c”
-如果计数超过了多少,不要添加用户?你想得太多了,我觉得这个问题结束得不恰当。这是一个关于多对多关系建模的合理问题。有些人对堆栈溢出准则要求太严格。我投票重新开始这个问题。谢谢你的回答,我会尝试,如果我遇到任何问题,我会回复你!我还有最后一个问题。如何从用户和团队获取id并将其写入成员数据库?我试过这样做:“插入成员身份(用户id、团队id),从用户中选择id,从团队中选择id”。但它不起作用。
SELECT MAX(id) INTO @user_id FROM users WHERE name = 'hpotter';
SELECT MAX(id) INTO @team_id FROM teams WHERE name = 'gryffindor';

INSERT INTO membership SET user_id = @user_id, team_id = @team_id;