我目前正在开展一个项目,我一直在寻找有关我遇到的具体问题的一段时间,所以我来到这里发布问题。
基本上,我有一个表来处理我正在开发的网站上的通知,我正在使用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,因此在查看原始通知后不会再次显示。现在如果在事后创建了新通知,我显然仍然希望显示这些通知。
如果您有任何建议,请告诉我。
答案 0 :(得分:0)
再次感谢!