我正在编写自己的基本论坛以插入代码 igntier 站点。我对如何显示用户未读的线程/最新帖子有点困惑。
我正在考虑一个包含每个已访问线程 ID 的表,但该表有可能变得相当大。
有什么方法可以解决这个要求?
一个简单的想法:记录用户访问站点/论坛/子论坛的最后日期时间。这可以像线程或子论坛一样细化,只要你喜欢。也许在 cookie 中thread_id
创建/更新这个键值对。last_visit_date
也许将其存储在 cookie 中,而不是存储在您的 RDBMS 中。问:这是关键任务数据,还是可以/不能承受数据丢失的重要功能?
当用户返回时,查找所有create_date
大于last_visit_date
论坛的主题/帖子。
我假设访问论坛(线程列表)的行为与“查看”相同。假设如果显示了信息,那么您已经“查看”了线程标题,无论您是否实际钻入线程。
最简单的方法可能只是保留用户上次访问时间的 cookie,并在此之后发布/编辑查询帖子。您不会获得所有已读线程,但大多数论坛似乎都以这种方式工作,否则您必须将所有已读线程保存在某个地方。
我不认为你真的需要像你想象的那样创建任何表来记录线程 ID,因为它会随着用户的大小和创建的线程/帖子的数量而增长。您可以仅将在用户上次访问后创建的线程或帖子显示为未读。我想这就是我要做的。