Php 获得朋友的帖子
我正在制作一个社交网络平台。我只是想知道一种只过滤用户朋友的帖子的方法 目前,我过滤帖子的方式是选择所有帖子,但只显示来自用户朋友的帖子,有点像这样:Php 获得朋友的帖子,php,mysql,mysqli,Php,Mysql,Mysqli,我正在制作一个社交网络平台。我只是想知道一种只过滤用户朋友的帖子的方法 目前,我过滤帖子的方式是选择所有帖子,但只显示来自用户朋友的帖子,有点像这样: $select = $con->query("SELECT * FROM posts ORDER BY timestamp DESC"); while($postassoc = $con->fetch_assoc()){ $postby = $postassoc['user']; $friendof = $con->qu
$select = $con->query("SELECT * FROM posts ORDER BY timestamp DESC");
while($postassoc = $con->fetch_assoc()){
$postby = $postassoc['user'];
$friendof = $con->query("SELECT id FROM friends WHERE 'from'='$user' AND 'to' ='$postby' OR 'to'='$postby' AND 'from'='$user' AND 'auth'='1'");
If($friendof != 0){
//show post
}
}
假设没有错误,从长远来看,这种方法将花费大量时间。有没有更好更有效的方法?效率极低。你会浏览社交网站上的每一篇帖子来获得它吗?如果你有10亿用户呢
你最好遍历你所有的朋友,找出最相关的朋友,然后显示他们的活动。大型社交网站根据相关性排序你的朋友。(你可以在“聊天”侧面板上看到这一点——你最好的朋友会在上面
一旦您有了一个用户,本网站将进一步讨论查找活动的实现,例如,假设您的朋友表如下所示:表:朋友
id user_id friend_id
1 22 35
现在,您的post表可能类似于此表:posts
id user_id post_content post_date
1 35 hbsdhdhs 25-Dec
现在,您可以使用“加入”筛选朋友的帖子
$select = $con->query("SELECT posts.post_content FROM posts join friends on posts.user_id=friends.friend_id and friends.user_id =22");
非常感谢!但是你能为我解释一下/详细说明一下这个查询吗?因为我对连接函数完全不熟悉。我知道它效率很低,这就是我问的原因。