【发布时间】:2012-04-23 15:56:48
【问题描述】:
我正在尝试在 cmets 上实现通知,也就是说 - 如果我对一个帖子发表评论,而另一个用户 cmets 在同一个帖子上发表评论,我会收到通知。我已使用此查询为帖子所有者处理了通知
SELECT id, owner_id, post_id, user_id2, COUNT(user_id2) AS num, type, UNIX_TIMESTAMP(date_done) AS date
FROM notification
WHERE owner_id = '$user_id' AND user_id2 != '$user_id'
ORDER BY date_done DESC
在上表中,owner_id 是帖子的所有者,user_id2 是评论帖子的人。
我如何告诉 id 为 17 的用户有两个人(用户 id 为 2 和 1)也评论了帖子?
如果我应该使用第二张桌子,请告诉我结构应该如何。谢谢
【问题讨论】:
-
您需要一些东西来识别帖子,不是吗?您在上面粘贴的查询仅按 user_id 从数据库中选择。
-
你怎么知道通知已被阅读,并且不再显示?
-
@Pete,帖子已经有了唯一的 ID。我发布的查询现在并不是真正的挑战,而是向评论同一帖子的其他用户发送通知的查询。
-
@safarov,我已经想到了,但我想先收到通知。但是,每个显示的通知都有一个删除通知链接,因此所有者可以根据需要删除通知。
-
@Chibuzo 删除通知不正确。例如,如果用户 17 阅读了通知,但用户 2 没有。并且永远不会通知用户 2