找到附加的朋友MySQL(Relational)

时间:2016-08-30 02:32:37

标签: php mysql

我正在构建一个简单的社交网站。我得到了所有朋友的互动(例如:发送请求,批准请求)工作。所以现在我正在创建一个页面,您可以在其中找到所有添加的朋友。我基于这个构建了数据库关系:

http://www.codedodle.com/2014/12/social-network-friends-database.html

如何列出我的朋友?

第1步:

SELECT action_user_id, pkusers_rel, user_one_id, user_two_id FROM relationship WHERE (user_one_id = $myuserid OR user_two_id = $myuserid) AND status = $approved

第二步: 根据本教程,user_one_id必须始终小于user_two_id。所以,我使用这些行来识别我的朋友ID。

if($myuserid == $s["user_one_id"]) {
    $myfriendid = $s["user_two_id"];
} elseif($myuserid == $sb["user_two_id"]) {
    $myfriendid = $s["user_one_id"];
}

现在的问题是,如何在朋友列表中找到朋友?

我无法在这里考虑逻辑。在公共场合找朋友很容易,我只是搜索用户表。但在我自己的朋友名单中找朋友对我来说是一个问题。

有谁可以为我描述逻辑?真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

一开始就使用数据库。

如果您使用me的正确值,则应该会为您提供一个好友列表。

select user_one_id from relationship where user_two_id = me and status = 1
union
select user_two_id from relationship where user_one_id = me and status = 1;

只是快速查看关系的顺序并不重要,因为您需要找到ID比您更高和更低的朋友。enter code here