2010-07-28 61 views
1

我写了一个应用程序,它不是以任何方式使用社交网络脚本,但我的脚本确实有“用户配置文件”,我对SQL/PHP设计想法感兴趣为我的脚本的用户在Facebook上看到的流。类似Facebook的活动流

活动,如“乔伊评论X的墙上。”或者“Joey,X,Foo喜欢你的照片”或者“Foo改变了他的照片”(图片在这里)

我希望它是动态的,而不是静态的条目,因为如果乔伊改变他的名字为别的东西,不希望它显示旧数据。因此,如果你愿意的话,可以帮助我设计一个这样的方法......我不需要任何代码只是朝着正确的方向推动。

非常感谢!

+0

我不太明白你在问什么。你想为活动提供数据库模式建议吗? – Evernoob 2010-07-28 09:15:16

+0

如果您将所有内容都正确存储在数据库中,则名称将会更新。您是否想知道如何让名称正确显示,或者您是否正在寻找一种将数据“推送”到浏览器而无需用户刷新页面的方式? – 2010-07-28 13:55:05

+0

数据库架构是我正在寻找的。 我想也许是这样.... ACTIVITY_ID activity_message activity_time 如果消息将会像 “{USERID:34} {喜欢USERID:23}邮报” 和“{USERID:34}改变了他图片{PHOTOID:2}“ 并让系统检测这些令牌,并用适当的值替换。这似乎是一个好方法吗? – ohmybrew 2010-07-28 17:17:43

回答

1

我不知道从长远来看,你提出的方案会给你更多的灵活性:

DB模式是什么,我期待的。我在想也许像.... .... activity_id activity_message activity_time其中的消息将像“{USERID:34}喜欢{USERID:23}帖子”和“{USERID:34}改变他的照片{PHOTOID:2}”

这个问题是你依赖正则表达式和其他昂贵的(及时的)解析方法来显示。

也许(我从来没有实际设计过这种东西),如果你有一个单独的表为“喜欢”,它有user.id,post.id,timestamp,那么你可以很容易地计算一个特定的帖子喜欢它的人数,对于可以按用户过滤的活动流和按时间排序。存储的user.id是喜欢该帖子的人,然后您可以在post.id上加入以获得与该帖子相关联的用户。

对于处理图片和/或其他交互,你可以有一个表,包含user.id,item.id,action,timestamp,其中item.id是一个图片/文章/其他id引用,并且动作是一个数字标识符对应于您可以与字符串关联的操作。

通过这种方式您可以获得其他优势,如果您希望以后有多种语言或决定将“喜欢”一词更改为“喜欢”,您可以轻松地进行操作,就好像您存储了一个文本字符串稍后会显示出来,您将更难以替换它。