【问题标题】:MySQL AJAX PHP Notification Table LayoutMySQL AJAX PHP 通知表布局
【发布时间】:2013-07-11 08:28:09
【问题描述】:

我在完成我网站上的通知系统时遇到问题,在该系统中,用户在发布帖子或评论时会收到通知。到目前为止,我有 3 个表:用户、帖子和通知。例如,当用户向帖子表提交内容时,将在notifications 表中生成通知,其中包括时间戳、帖子的位置以及发帖人。我的问题不是编码任何这些,而是​​应该如何设置我的表,以便当我通过 AJAX 调用查询时,用户会得到一个数字,代表他们没有看到的帖子/cmets 的数量。如何在表格中表示会话用户未看到通知?显然,用户看到和未看到的帖子会有所不同,我似乎无法理解这一点。我尝试了以下方法:

  • 比较用户上次活动和通知活动的时间戳。用户只需转到任何其他页面,而不是通知的位置,通知就会立即消失。
  • 通知的位置与最新页面用户是;每次用户访问具有最近活动的页面时,通知都会消失,但微不足道的是,它会在用户离开后再次出现

那么如何模拟用户的“已读/未读”状态及其通知?谢谢大家。

【问题讨论】:

  • 你为什么要投反对票?即使你这样做了,请至少解释为什么......
  • 它指的是成功查询的mysql数据库大纲。
  • 还有人可以帮忙吗?这似乎与我很相关。
  • 存储用户是否查看过 x 通知的单独表格应该可以工作。如果您只将它存储在会话中,正如您所指出的那样,一旦用户获得新会话,它们就会突然变为未读(或读取,取决于写入的时间),无论用户是否实际阅读通知 x。
  • @stmyd 如果通知是按用户发出的,则不是。 (请参阅 NinthCrow 发布的答案中的 user_id 列)

标签: php jquery mysql ajax


【解决方案1】:

通过您的设置,我将创建另一个表 users_notifications 或其他表,其中 id, user_id, notification_id, status, timestamp 列其中 user_idnotification_id 分别是它们表的唯一 ID,status 是标识具有该特定通知的用户的当前状态。这将使您能够轻松地计算出您现在需要什么,但如果需要,还可以增加更多。

【讨论】:

  • 很高兴这有帮助...不过我还不能投票,我现在只有 11 岁 :)
  • 所以每次生成通知时,每个user_id都会生成一个通知,可以从未读变为已读?
  • 我会让系统假设用户没有阅读通知,除非users_notifications 表中有一个条目......所以当用户阅读通知时,它将写入@ 987654328@ 表和当前时间等。然后,当您计算他们尚未阅读的通知数量时,您可以查询当前用户的 users_notifications 表中不存在的所有通知。
  • 抱歉,请重新阅读您的评论。不,您只需要notifications 表中的一个通知。 users_notifications 表可以跟踪哪些用户“阅读”了哪些通知。
猜你喜欢
  • 2013-08-24
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多