我有用php/mysql编码的用户讨论论坛,我想知道大名鼎鼎的论坛如何使您向其中显示哪些主题有新帖子,通常是通过更改线程旁边的图标图像而几乎不使用任何资源?
最佳答案
最简单的方法是跟踪某人上次登录的时间。当他们再次访问时,此后所有已更新的内容显然都是“新的”。
但是,这有一些问题,因为注销有效地将所有项目标记为已读。
我唯一想到的另一种方法是维护一个表,其中包含所有线程以及每个用户已经看到的该线程中的最新帖子。
user_id thread_id post_id
1 5 15
1 6 19
有了这些信息,如果线程#5中有一个帖子的ID大于15,则您知道那里有未读的帖子。仅使用该页面上最新帖子的post_id更新此表。这意味着,如果有3页新帖子,并且用户仅查看第一页,则仍会知道有未读的帖子。
关于php - 论坛如何显示未读主题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1997399/