栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PHP / MySQL中朋友的朋友?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP / MySQL中朋友的朋友?

答案是他们没有在好友表上进行选择,他们很可能使用非标准化的新闻事件表。我们在DoInk.com上实现了类似于Facebook的新闻源,这是我们的处理方式:

这里有一个“
NewsEvent”的概念,它具有一个类型,一个启动器(一个用户ID)和一个目标用户(也是一个用户ID)。(您也可以为与该事件相关的其他属性添加其他列,或将其加入)

当用户在其他用户的墙上张贴内容时,我们将生成如下事件:

INSERT INTO events VALUES (wall_post_event, user1, user1)

查看用户1的配置文件时,您将为所有事件选择用户1是启动者还是目标的事件。这就是显示个人资料供稿的方式。(根据您的隐私模型,您可能会很喜欢并过滤掉事件。出于性能原因,您可以考虑在内存中这样做)

例:

SELECt * FROM events WHERe initiator = user1 or target = user1 //to see their profile feedSELECt * FROM events WHERe initiator IN (your set of friend ids) //to see your newsfeed

当您想查看与您的朋友有关的所有事件的新闻源时,可以查询以选择发起者在您的朋友集中的所有事件。

避免使用子选择的实现,具体取决于复杂性,它们不会扩展。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415286.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号