2012-10-14 116 views
0

我目前工作的一个项目,我已经有一段关于我有具体的问题摸索,所以我来到这里后的问题。PHP MySQL中,集团通过更新域

基本上,我有一个表处理我正在开发的网站上的通知,并且我正在使用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。现在,当用户重新加载页面,它会证明我是故意打算在第一个地方隐藏下一个通知。

基本上,我怎么能设置不原始查询匹配为真,那么原来的通知被认为以后它不会再次显示一切。现在,如果在事后创建了新的通知,我仍然希望显示这些通知。

如果您有任何建议,请让我知道。

回答

0

我想通了这一点,顺便说一下,以防万一有谁运行到将来出现此问题。在循环遍历结果集时,我将每个ID存储在一个数组中。此后,我刚刚成立的另一个查询来设置所有的ID所没有的阵列设置在“读”两个原始最低和最高的ID之间。它完美的作品。不知道我在这里最好地传达了答案,但如果有人对此有任何疑问,请告诉我。再次

谢谢!