我目前正在做一个项目,我一直在寻找我遇到的具体问题,所以我来这里发布问题。
基本上,我有一个表格来处理我正在开发的网站上的通知,并且我正在使用 GROUP BY 来处理冗余通知,比如如果有人多次评论同一件事,我只想显示最新的通知。这是我正在使用的查询示例(我在 PHP 中使用 PDO 驱动程序):
SELECT * FROM
((SELECT `a`,`b`,`c` FROM `table` WHERE `c` IN ($array) AND `b` IN ('a','b') AND `read`='false' AND `id`!='xxx' GROUP BY `c` )
UNION ALL
(SELECT `a`,`b`,`b` FROM `table` WHERE `b` IN ('a','b') AND `id`='xxx' AND `read`='false' ) ) as x ORDER BY `id` DESC LIMIT 15
问题出在这个查询之后,所以基本上,在我的通知窗口中,当用户查看所有这些时,我将他们所有的读取列设置为 true。现在,当用户重新加载页面时,它将显示下一个我有意隐藏的通知。
基本上,如何将与原始查询不匹配的所有内容设置为 true,以便在查看原始通知后不再显示。现在,如果事后创建了一个新通知,显然我仍然希望显示这些通知。
如果您有任何建议,请让我知道。