2012-10-14 104 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之間。它完美的作品。不知道我在這裏最好地傳達了答案,但如果有人對此有任何疑問,請告訴我。再次

謝謝!