php - 查找添加的好友 MySQL(关系型)

标签 php mysql

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

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

如何列出我的好友?

第一步:

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。因此,我使用这些行来识别我的 friend ID。

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

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

我无法思考这里的逻辑。在公共(public)场合寻找 friend 很容易,我只需搜索用户表即可。但在我自己的 friend 列表中找到 friend 对我来说是一个问题。

谁能给我描述一下逻辑吗?非常感谢你们的帮助。

最佳答案

首先使用数据库。

如果您使用正确的me值,这将为您提供一个 friend 列表。

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 比您更高和更低的 friend 。在此处输入代码

关于php - 查找添加的好友 MySQL(关系型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217928/

相关文章:

mysql - Rails 3 两个表之间的查询

php - 如何复制 mySQL 表行但插入一个自定义值?

PHPMailer - gmail smtp 无法正常工作

php - 单击按钮时不会调用 AJAX?

php - 检查是否设置了单选按钮

html - PHP mail() - 如何在电子邮件中放置 html 链接?

mysql - (Mysql 性能 : updating one field vs many unneccesary fields

c# - 让 Linq 与 Mysql 和 Mono 一起玩,这可能吗?

php - 使用 php 选择不同的结果给出了错误的结果

mysql - "don' t 的数据库模式再次向我展示了我之前在 mysql 中看到的内容