使用PHP和MySQL发布新帖子通知

时间:2012-04-20 14:15:23

标签: php mysql notifications new-operator posts

我知道如何在PHP和MySQL中实现,但现在我有一些思考问题。

有一个论坛网站。每个用户都可以发布一个问题(比如stackoverflow)。那么如果用户返回(在2天之后或之后)他看到(消息或警告......)他的帖子上有新帖子,该怎么办呢?

你知道我的意思吗?我不能把这一切都放到数据库中,我认为这有点服务器重???

感谢。

3 个答案:

答案 0 :(得分:4)

如果我没记错的话,这就是Simple Machines Forum如何处理它。

每个用户都有他们点击过的每个帖子的记录。该记录存储该线程在单击时的最高消息ID。

由于消息ID是自动递增整数,因此任何新消息的消息ID都会大于前一个消息ID。

因此,当用户查看线程列表时,SMF会查看线程中当前最高的消息ID是否大于存储在用户线程记录中的消息ID。如果它更大,则有新记录,并且该线程获得“新消息”图标。否则,该线程将获得“无新消息图标”。此外,如果没有线程记录,则用户从未访问过该线程,并获得“新消息”图标。

当用户实际点击该线程时,线程记录将再次使用最高消息ID进行更新。

答案 1 :(得分:3)

您应该在网站上存储用户的lastActiveTime。每次用户访问线程或页面时,都要为它们更新此值。下次他们返回时,对lastActiveTime之后创建的所有帖子进行查询并显示链接列表。

这意味着您只需要向用户表添加一个字段,仅此而已。这个新字段包含一个简单的日期,您可以从中确定某些帖子的新鲜度。

答案 2 :(得分:-2)

可以将所有内容都放入数据库......

还有什么地方呢?

Magic Land ? ^ _ ^

只需将所有内容存储在数据库中,并在每行中添加一些时间元素。