已经阅读了帖子

时间:2012-04-28 05:15:28

标签: php forum

我现在正在一个论坛上工作,我差不多完成了,但现在我已经到了有点困难的地步。

你可能对phpBB论坛很熟悉。这个很酷的功能可以将帖子标记为已读和未读。

我在这里发现了一个类似的线索,但我没有真正得到解决方案。

如果我保存用户登录的时间并标记过去创建的所有帖子,则可能会有效。但现在,下一步是什么?用户阅读未读帖子,我想将其标记为“已读”,但其他帖子仍应标记为“未读”,直到他阅读。我有点必须存储这些数据,不是吗?

我实际上也在考虑将这些数据保存在cookie中。怎么样?

2 个答案:

答案 0 :(得分:1)

你应该有一张多对多的关系表:

marked_as_read
--------+--------
user_id | post_id
--------+--------

删除所有超过(比如说)30天的帖子,以保持桌子处于歇斯底里的大小。

在您的PHP代码中,标记此表中不存在的任何帖子 AND 小于30天,因为未读取。阅读答案后,请将其放在此处。

编辑/更新帖子时,请从此表格中的所有用户中删除。

答案 1 :(得分:0)

简单明了:将其存储在数据库中。一个包含user_id列和post_id / thread_id列的表格,当有人阅读帖子或更新帖子/帖子时,您会不断更新。是的,这是很多数据,但实际上并不是因为它会给数据库带来任何问题。