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

Php 如何合并数据库中的数组数据

Php 如何合并数据库中的数组数据,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,我有一个数据库表,用于我网站的用户,该表为每个用户提供一个用户id 使用规范化,我将用户链接到一个组,并使用一个user\u group表(包括user\u id和group\u id)将用户链接到一个组 然后我有一个组表,它将组名链接到组id 我正在尝试将我网页上的用户输出到组名旁边的列表中,而不是组id 我曾考虑使用foreach循环来实现这一点,但数据需要进入一个数组吗?我不知道如何获取用户id,找出它与哪个组id配对,找出该id与哪个组名配对,然后用名称将其添加到数组中,并能够使用for

我有一个数据库表,用于我网站的用户,该表为每个用户提供一个用户id

使用规范化,我将用户链接到一个组,并使用一个user\u group表(包括user\u id和group\u id)将用户链接到一个组

然后我有一个组表,它将组名链接到组id

我正在尝试将我网页上的用户输出到组名旁边的列表中,而不是组id

我曾考虑使用foreach循环来实现这一点,但数据需要进入一个数组吗?我不知道如何获取用户id,找出它与哪个组id配对,找出该id与哪个组名配对,然后用名称将其添加到数组中,并能够使用foreach在用户名旁边显示组名


谢谢您的帮助。

如果我理解正确,您希望将您的用户数据加入到组中,以显示带有组名的用户详细信息

试试这个:

select u.*,g.*,ug.*  from users u 
left join user_group ug on u.user_id=ug.user_id
left join `group` g on ug.group_id=g.group_id;

从上面的查询中,您可能会得到一些用户的空值,这些用户没有分配到任何组。

我不明白为什么需要左连接。应该是常规加入,除非他想显示没有组的用户


顺便说一句,这是一个完美的例子,说明应该在DB中使用select执行某些操作。从这些表中提取所有内容并尝试用java对它们进行排序不是一个好主意。也许我看错了这篇文章。

在SQL xlause中使用左连接。我使用的是php而不是Java。如果用户在一个组中,这将返回一个包含用户及其相应组id的数组。有没有什么方法可以让我完全使用SQL,根据我刚刚添加到用户数组中的组id,从groups表中找到group_名称?希望这有意义。。。