2011-08-14 32 views
1

好吧,所以我遇到了一個小問題。頁面刷新記錄在數據庫更改

基本上我的整個網站都是通過AJAX系統運行的,內容被加載到中間頁面,並且有一個不刷新的左右菜單。

目前我正在試圖尋找一個PHP的>的Ajax功能,刷新了整個網站在櫃面MySQL表

好了,所以每個用戶有一個叫記錄「國」一定記錄更改指示他們的賬戶狀態可以被任何人改變,例如賬戶被某人射殺。我該如何做到這一點,以便它檢查您擁有的狀態,以及它是否從「標準」狀態更改爲完整頁面刷新。

我試圖找到一個適合這個地方的答案,但一直無法找出答案。

----- -----編輯

好了,所以我也會通知,我那種知道如何進行整頁刷新,我知道如何檢索從MySQL數據庫中的數據,這不是問題。

我有一個表中的所有用戶帳戶,其中每個用戶的記錄之一稱爲「狀態」每個狀態將1,這意味着活着。當它的0表示它是一個死的帳戶。

在我的網站的一部分theres自動刷新與總是從數據庫中提取數據每5秒,以檢查如果你的網上如果你有錢等,它也檢查你有什麼狀態。

我想要做的唯一事情是,當它看到你的狀態是0時,它執行整頁刷新,考慮狀態0意味着死亡,你應該看到一個死亡屏幕,我希望它執行一整頁刷新導致菜單不得不消失。它必須將你重定向到死亡頁面。

+0

如果你的意思是刷新整個**頁面**(而不是網站),然後檢查這個問題:http://stackoverflow.com/questions/4194080/ajax-refresh-page-content-instead-of-div -content –

+0

我不認爲你得到我想要的。 我想要在MySQL數據庫中的記錄更改時刷新頁面,每個帳戶的記錄是「狀態」預設爲「1」,除非他們被殺死,然後狀態爲「0」我怎麼能使它如果它檢測到你的狀態被改變,它會刷新整個頁面? (Theres在頁面的一小部分自動刷新,我可以將下面的代碼添加到這個部分來檢查記錄「狀態」的變化。) –

+0

你的問題是如何刷新整個頁面或者如何獲取狀態從DB?或兩者? –

回答

2

您需要長時間的池化/彗星 - 基本上,您保持客戶端和服務器之間的連接處於打開狀態,並且狀態發生更改時,服務器會將響應發送給客戶端。

基本上,你會打開一個長池連接,發送用戶標識。 服務器腳本收到用戶標識,並開始監視該用戶的更改。如果檢測到這種變化,則發送響應。

如果關注性能,可以使用Tornado Web服務器。有什麼好處的是,您可以從另一個應用程序發佈到Web服務器,並且可以檢測哪個客戶端受到更改的影響,並向該客戶端發送響應。

+0

但是,所有這些選項圍繞安裝服務器密集型應用程序,真的沒有任何代碼只是檢查「狀態」,只是在它發現它發生變化時才執行實時刷新?考慮到這個每5秒更新一次的小部分,它會檢查你的在線,你有多少錢,並且每5秒更新一次,所以真的不可能只是把「if state = 0 perform」這樣的東西刷新'「還是什麼? –

+0

@Sjaak:查看此頁面:http://ajaxpatterns.org/Periodic_Refresh –

相關問題