Php 如何基于用户连接生成表

Php 如何基于用户连接生成表,php,database,join,Php,Database,Join,我试图从存储在3个单独表上的数据构建一个表,这些表用于确定用户帐户之间的相互关系。表格非常简单,我可以在这里解释结构 字符 唯一的| id |名称 1吉姆 2蒂姆 关系 唯一的| id |名称 我讨厌 两个敌人 3个朋友 4中立 连接 唯一的| id |发送方|接收方|关系 1 | 1 | 1 | 1 2 | 1 | 2 | 3 3 | 2 | 1 | 2 4 | 2 | 2 | 4 发送方/接收方都是匹配唯一字符id的整数 relation是一个与relations unique_id匹

我试图从存储在3个单独表上的数据构建一个表,这些表用于确定用户帐户之间的相互关系。表格非常简单,我可以在这里解释结构


字符

唯一的| id |名称

1吉姆

2蒂姆


关系

唯一的| id |名称

我讨厌

两个敌人

3个朋友

4中立


连接

唯一的| id |发送方|接收方|关系

1 | 1 | 1 | 1

2 | 1 | 2 | 3

3 | 2 | 1 | 2

4 | 2 | 2 | 4

发送方/接收方都是匹配唯一字符id的整数

relation是一个与relations unique_id匹配的整数


因此,我希望表格的工作方式非常简单。该表将为每个字符(用户)生成一行和一列,然后在行和列的相交处,它将说明这两个字符的关系

x     Jim       Tim
Jim   Hated     Friends
Tim   Enemies   Neutral

这在理论上似乎很简单,但如果不查询表中的每个单元格(查找发送者1接收者1,然后查找发送者1接收者2),我无法找到一种方法来实现这一点。我知道这会起作用,但许多查询似乎效率低下。我觉得我遗漏了一些明显的东西,但我无法指出它。

您到目前为止做了什么?如果您在上面的表格描述中输入一些示例数据,会更容易提供帮助。从结果表上看,这不是很明显,因为“吉姆恨自己”和“吉姆和蒂姆既是朋友又是敌人”是我从中得到的?抱歉,我在表中添加了一些状态,这可能会有所帮助。这个想法是,虽然吉姆可能认为自己是蒂姆的朋友,但蒂姆不会这样认为,认为吉姆是敌人。难道吉姆应该恨自己吗?难道你不想知道吉姆对蒂姆的感觉,反之亦然吗?首先,你只需要提出2个问题,如果你想了解每个人对自己的感受,你只需要提出4个问题。