2010-06-06 232 views
1

我目前有一個消息系統。 我期待這樣做,當用戶接收到新消息時,他們會收到警報。也許彈出一個?就像一個消息框中說「你有一條新消息」。彈出新消息

我怎麼能做到這一點? 謝謝

回答

2

你不能在php中真正做到這一點,因爲正常使用的PHP意味着沒有直接的用戶交互。你需要做的是在javascript中實現相關的用戶交互代碼,並且對託管php的服務器進行輪詢(使用AJAX或類似的方式),以查看是否應該顯示一個彈出窗口。

0

這不僅是一個PHP的問題。你需要做一個數據庫表是這樣的:

messageID 
contents 
... 
popuped 
userID 

然後做一個頁面誰得到誰尚未popuped消息的計數:

SELECT COUNT(*) AS nr FROM messages WHERE userID = :userID AND popuped = 0 

這一套popuped到1後:

UPDATE messages SET popuped = 1 WHERE userID = :userID 

並打印nr字段。

然後,對於您網站上的每個頁面,您需要制定一個預定的ajax請求(例如每20秒)加載該頁面。如果結果高於零,則需要顯示用戶有消息。

對於Ajax請求採取的mootools的javascript框架看,例如(或jQuery的,原型等)

0

您在顯示警告尋找一個「活」的消息,如當用戶做其他事情?或者你正在尋找一個'靜態'消息,就像用戶打開頁面時顯示的警告一樣?靜態方法可以通過服務器端的php來實現。實時方法將需要採用客戶端技術。我建議使用jQueryjGrowl以及類似jQuery Timers的實時方法。試試這個關於javascript timers here的問題