2012-04-24 71 views
1

我打算創建一個Web界面來實時顯示數據庫中的數據。數據來自監控設備,然後由獨立於採礦的軟件組件存儲到數據庫中,我既不能訪問其配置文件,也不能訪問其源代碼。我打算使用Ajax/PHP在Web界面上顯示數據,因爲我認爲我的JavaScript和HTML和PHP都在同一段代碼中,所以我認爲設計模式可能會有所幫助。使用Ajax和PHP實時數據顯示

對於如何在不刷新頁面的情況下實時顯示網站上的新記錄和所有更新,您是否有任何實施想法?哪種設計模式可以幫助(無論是在服務器端還是在客戶端)?使用觀察者模式觀察PDO會有用嗎?

注:我剛剛有一些JavaScript Ajax課程,我只有設計模式的理論知識,但我熟悉OOP。

+0

這近乎屬於上http://programmers.stackexchange.com/ – DaveRandom 2012-04-24 16:30:09

+0

嘿@inkredibly,你有沒有找到解決這個問題呢? – SLearner 2013-08-23 13:15:02

回答

1

最好的辦法是使用jQuery在檢查一個PHP腳本,每隔幾秒鐘,然後新的一個div

將你的腦袋標籤之間

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/ 
libs/jquery/1.3.0/jquery.min.js"></script> 
<script type="text/javascript"> 
var auto_refresh = setInterval(
function() 
{ 
$('#load_updates').load('myphpfile.php').fadeIn("slow"); 
}, 10000); // refresh every 10000 milliseconds 

</script> 

發生在主體(每一個新的更新將在該分區中顯示)

<div id="load_updates"> </div> 

你的PHP文件看起來是這樣的,這是呼應了將在div將出現在你主頁曾經的事情。您可以運行查詢然後回顯數據。

<?php 

echo "Testing ......"; 

?> 
+0

謝謝你的回答。我明白你的觀點,但問題在於,我們必須發送查詢,有時在沒有更新的情況下在服務器端運行腳本。我希望在服務器端有一些問好有新的記錄..... – Inkredibly 2012-04-24 17:24:59

+0

jQuery並不總是必要的,它只是一個來自各種各樣的可能性。但是,「解決方案_」中最糟糕的部分實際上是這是「最佳」方法的陳述。第二個問題是,你實際上讓OP相信他/她需要每10秒鐘執行_whole_頁面,而不是建議更輕量級的響應(響應小一些,只對服務器執行必要的檢查),並且更接近實時(影響較小,所以更頻繁的更新是可能的)。你不會提到彗星。問題很嚴重,反應不是。 – Tadeck 2012-05-23 06:10:48