PHP mySQL 显示好友列表中的帖子
PHP mySQL Showing Posts in Friend List
首先,我想说的是,我不太擅长解释技术问题,但我会尽力:)
我正在尝试做类似 facebook 墙的事情。我有 4 张桌子。
- 用户
- 用户图片
- 好友列表
- 分享帖子
我想在 his/her 主页上显示用户朋友的帖子。我搜索并找到了一些解决方案并应用于我的应用程序。但我正在尝试为 SQL 查询寻找替代方法。因为我使用了子查询,也许没有这个也可以做到。
这是数据库:http://sqlfiddle.com/#!2/bbacd
SQL 获取结果的代码:
SELECT DISTINCT share.*, member.*, picture.file
FROM friend
LEFT JOIN share ON share.wall_owner_id = friend.friend_id
LEFT JOIN picture ON picture.member_id = share.wall_owner_id
LEFT JOIN member ON member.member_id = share.wall_owner_id
WHERE friend_id IN (SELECT friend_id FROM friend WHERE member_id = 'MEMBER.ID')
OR share.writed_by_id = 'MEMBER.ID'
MEMBER.ID = 登录用户的 ID。
友谊设计跨系统工作。
如果有人接受朋友请求(表未添加到 sqlfiddle),两者都作为朋友写入数据库,如 2、8 和 8、2。这样做是好方法吗?
非常感谢。
友好。
没有这个额外的加入你绝对可以做到这一点。仍然不确定我是否满足要求。如果您想查看他的朋友或他在任何墙上张贴的所有内容,这种查询应该有效。基本上,您只是 select 那些以 MEMBER.ID 为朋友或 MEMBER.ID 他们自己的人。
SELECT DISTINCT share.share_id, share.status_text
FROM friend
JOIN share ON share.writed_by_id = friend.member_id
JOIN picture ON picture.member_id = share.wall_owner_id
WHERE friend.friend_id = 2 OR friend.member_id = 2
首先,我想说的是,我不太擅长解释技术问题,但我会尽力:)
我正在尝试做类似 facebook 墙的事情。我有 4 张桌子。
- 用户
- 用户图片
- 好友列表
- 分享帖子
我想在 his/her 主页上显示用户朋友的帖子。我搜索并找到了一些解决方案并应用于我的应用程序。但我正在尝试为 SQL 查询寻找替代方法。因为我使用了子查询,也许没有这个也可以做到。
这是数据库:http://sqlfiddle.com/#!2/bbacd
SQL 获取结果的代码:
SELECT DISTINCT share.*, member.*, picture.file
FROM friend
LEFT JOIN share ON share.wall_owner_id = friend.friend_id
LEFT JOIN picture ON picture.member_id = share.wall_owner_id
LEFT JOIN member ON member.member_id = share.wall_owner_id
WHERE friend_id IN (SELECT friend_id FROM friend WHERE member_id = 'MEMBER.ID')
OR share.writed_by_id = 'MEMBER.ID'
MEMBER.ID = 登录用户的 ID。
友谊设计跨系统工作。 如果有人接受朋友请求(表未添加到 sqlfiddle),两者都作为朋友写入数据库,如 2、8 和 8、2。这样做是好方法吗?
非常感谢。
友好。
没有这个额外的加入你绝对可以做到这一点。仍然不确定我是否满足要求。如果您想查看他的朋友或他在任何墙上张贴的所有内容,这种查询应该有效。基本上,您只是 select 那些以 MEMBER.ID 为朋友或 MEMBER.ID 他们自己的人。
SELECT DISTINCT share.share_id, share.status_text
FROM friend
JOIN share ON share.writed_by_id = friend.member_id
JOIN picture ON picture.member_id = share.wall_owner_id
WHERE friend.friend_id = 2 OR friend.member_id = 2