Php 如何合并数据库中的数组数据
我有一个数据库表,用于我网站的用户,该表为每个用户提供一个用户id 使用规范化,我将用户链接到一个组,并使用一个user\u group表(包括user\u id和group\u id)将用户链接到一个组 然后我有一个组表,它将组名链接到组id 我正在尝试将我网页上的用户输出到组名旁边的列表中,而不是组id 我曾考虑使用foreach循环来实现这一点,但数据需要进入一个数组吗?我不知道如何获取用户id,找出它与哪个组id配对,找出该id与哪个组名配对,然后用名称将其添加到数组中,并能够使用foreach在用户名旁边显示组名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
谢谢您的帮助。如果我理解正确,您希望将您的用户数据加入到组中,以显示带有组名的用户详细信息 试试这个:
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_名称?希望这有意义。。。