Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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_Codeigniter - Fatal编程技术网

Php 获取属于团队的成员

Php 获取属于团队的成员,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在尝试获取与登录用户在同一团队中的所有成员 表格示例: 团队表: id name 1 Test team 2 Second team 成员表: uid team_id 4 1 10 2 1 2 登录用户的uid=4 在本例中,它应该只返回1个用户,因为登录的用户(uid=4)只属于1个团队 这是我目前使用的代码,但它占用了所有用户(无论他们是否属于同一团队) 希望有人对如何解决这个问题有任何意见:-)我们再来一次: S

我正在尝试获取与登录用户在同一团队中的所有成员

表格示例:

团队表:

id     name
1      Test team
2      Second team
成员表:

uid     team_id
4       1
10      2
1       2
登录用户的uid=4

在本例中,它应该只返回1个用户,因为登录的用户(uid=4)只属于1个团队

这是我目前使用的代码,但它占用了所有用户(无论他们是否属于同一团队)

希望有人对如何解决这个问题有任何意见:-)

我们再来一次:

SELECT * 
FROM member
WHERE team_id=(SELECT team_id FROM member WHERE uid=4)

请参见

我不确定,但我猜您希望获得登录用户所在团队的所有成员。在这种情况下,请尝试:

$user_id = 4 or  $this->session->userdata('user_id');
$sql = "SELECT * FROM ( SELECT team_id FROM members WHERE uid = $user_id) tid
        JOIN members m ON m.team_id = tid.team_id
        LEFT JOIN team_table tt ON tt.id = m.team_id
        GROUP BY m.uid";
$query = $this->db->query($sql);

您没有登录用户的where子句。它还应该包含作为团队一部分的成员,我是其中的一部分。它只包含我自己,而不包含作为团队一部分的其他成员:-)它应该只显示您,因为您是团队id 4的唯一成员;团队id 2将有2个成员,但如果我将uid添加到团队2的members表中,它也只会显示我,因为“where member.uid=4”-它应该显示与我属于同一团队的所有成员
$user_id = 4 or  $this->session->userdata('user_id');
$sql = "SELECT * FROM ( SELECT team_id FROM members WHERE uid = $user_id) tid
        JOIN members m ON m.team_id = tid.team_id
        LEFT JOIN team_table tt ON tt.id = m.team_id
        GROUP BY m.uid";
$query = $this->db->query($sql);