2010-01-31 83 views
0

我們目前在我們的網站上有一個消息選項,顯示我們通過CMS向登錄用戶添加的任何消息,但提供「隱藏」選項的最佳方式是什麼?這樣,如果該特定用戶不想再看到該消息,他們可以隱藏它?任何建議歡迎...隱藏登錄用戶的消息嗎?

+2

取決於它們是什麼類型的消息。一次性狀態消息?長期提示? – 2010-01-31 16:05:37

+0

在任何時候都可能有幾條消息,這些消息可能是系統更新信息或一般新增加的東西......幾乎所有的東西都是...... – jimbo 2010-01-31 21:20:35

回答

3

假設這些通知/用戶需要閱讀更新,請嘗試這樣的事:

  • 在登錄時,讓用戶知道他們有N新郵件閱讀。
  • 如果用戶轉到消息頁面以閱讀這些消息,請使用其用戶元數據的last_read_date列中的當前時間更新日期。

現在,要決定在給定登錄名上顯示哪些郵件,只需在每條郵件的日期檢查last_read_date列。如果郵件的日期相對於last_read_date未來,他們還沒有看到該郵件。

+0

我認爲這是最好的解決方案,但只有用戶真的很好在任何時候都有1條消息顯示。可能是一個問題,如果他們沒有登錄一段時間,並且兩個消息/通知一起顯示,則用戶可能點擊隱藏最新的(這將在頂部),並且下面的一個也將被隱藏,但是像整體思考。 – jimbo 2010-01-31 21:28:20

0

假設您一次只顯示一條消息,您可以將一個布爾列添加到您的用戶表,並在用戶單擊隱藏時將其設置爲true,然後在顯示通知之前檢查該列。

然後,每次您發出新通知時,都可以將每列用戶的列重置爲false。

0

你應該添加表到DB將與領域的用戶表和信息表

之間的鏈接:

用戶ID,郵件ID,狀態

現在

,當你在用戶已經登錄你只是做

select * from messages where status='new' and userid='[userid_here]' 

當用戶reades該消息你只需要改變的狀態行到別的 像「老」

這樣您就可以只顯示用戶沒有閱讀的消息。

+0

這將工作,並具有最大的靈活性。但是,它的規模可怕:該表中的記錄數量將是用戶數量乘以郵件數量。 – Wim 2010-01-31 19:19:29