自上次访问以来的帖子数量

时间:2013-12-19 02:00:22

标签: php

我有一个人们可以发帖并关注其他用户的网站。我有一个侧边栏,其值可以跟踪自您上次访问以来发布的帖子数量。

我一直在思考如何处理这个问题。我应该在名为notifications的数据库中创建一个全新的表来保存用户的id以及自上次访问以来的帖子数量,我应该只在现有用户表中添加一个列来获取此值,还是应该使用一种完全不同的方法?

感谢。

3 个答案:

答案 0 :(得分:1)

首先:想想,这是一个属性的对象。在您的情况下,计数将因用户而异,因此我们可能会假设它是用户属性。

我们可以在最后一次登录时挂起它,但如果用户长时间登录,这会给我们一个错误的计数(用户不想知道自上次登录以来的计数,但是因为他的最后的活动!)。

所以最简单的方法是在users表中添加一个字段,该字段包含最后一个帖子ID - 我们只需SELECT MAX(id) FROM posts并更新users.lastSeenPost,并在每个用户操作上显示结果。然后,我们可以将MAX(post.id)-users.lastSeenPost显示为新的帖子计数。

答案 1 :(得分:0)

每个帖子都有一个日期记录。

每个用户都会有一个日期,记录他/她上次登录的时间。

通过以下SQL语句,您可以要求数据库返回自用户最后登录以来的帖子数量:

SELECT COUNT(*) FROM `posts` WHERE `posts.post_date` > `user.lastlogin_date`

答案 2 :(得分:0)

我建议你在每个客户的webbrowser中创建一个cookie($ _COOKIE ['lastPostId']),其中包含你帖子的最后一个ID,当用户返回时,你会看到$_COOKIE['lastPostId']并查询你的数据库为SELECT * FROM posts WHERE id>lastPostId