2011-04-01 77 views
1

我希望通知用戶數據庫已更新。我使用PHP和MySQL。有一個過程在數據庫中更新信息。一旦進程(Java應用程序)更新數據庫,我如何告訴用戶他們可以查看已處理的信息?mysql警報已更新爲PHP

我現在不知道該怎麼做,甚至這可能嗎?

+0

你正在更新MySQL查詢嗎? – 2011-04-01 08:21:54

回答

0

您將不得不定期檢查一些腳本(假設您的客戶端是一個web應用程序 - 可能使用javascript),並在腳本返回數據庫時更新警報。看看jQuery polling

+0

但目前即時通訊使用xampp.xampp不支持jscript不是嗎? – Roubie 2011-04-01 08:53:13

+0

從來沒有聽說過這個。值得編輯你的問題並添加有關最終客戶端的信息,特別是關於你正在使用的技術。無論如何,都需要進行某種投票。 – 2011-04-01 08:55:33

+0

即時通訊對不起,我們不需要服務器來運行javascript ...我的壞 – Roubie 2011-04-12 09:17:29

0

你可以觸發Ajax請求從服務器查詢信息,或者你可以嘗試使用WebSockets讓服務器

+0

先生先生,請你詳細說明一下嗎? – Roubie 2011-04-01 08:53:55

0

我沒有完全理解你的問題。

如果我理解,你有一個工作,更新數據庫中的表。

作業運行時,用戶不知道數據正在更新,並且作業結束時用戶不知道。

我不知道如果你能處理的表,什麼樣的數據在那裏,如果你可以管理/控制Java應用程序...

如果數據和表格(和Java應用程序)是我的控制之下,我將做到以下幾點:

  • 創建一個名爲job_in_progress表,有喜歡跑步布爾,started_at作爲時間戳某些字段。

  • 修改java應用程序以更新該表,在啓動時在運行字段中寫入true,並在結束時寫入false。

  • 當用戶轉到您的PHP頁面時,您檢查job_in_progress表,並且如果運行字段爲true,則表示java應用程序仍在運行。

另一種方式:當java結束時(如果更新過程很重)發送電子郵件給用戶。

+0

我注意到有一種方法可以連接php和命令提示符......但我一直在網上查找,從來沒有find.do你知道嗎? – Roubie 2011-04-12 09:19:44

+0

PHP是一名口譯員。您可以使用PHP編寫腳本,然後像任何其他腳本一樣執行腳本,只需向shell提供有關所需PHP可執行文件的信息(即在Windows中,您需要將php.exe放在路徑中,然後運行「php myscript.php 「在命令提示符內)。在* nix系統中,腳本必須以「#!/ usr/bin/php」開頭。 – AndrewQ 2011-09-08 07:16:29