2012-04-24 4 views
1

データベースからリアルタイムでデータを表示するためのWebインターフェイスを作成したいと考えています。データは監視デバイスから取得され、マイニングとは独立したソフトウェアコンポーネントによってデータベースに格納され、構成ファイルもソースコードもアクセスできません。私はAjax/PHPを使用してWebインターフェース上にデータを表示しようとしています。JavaScriptとHTMLとPHPを同じコードで使用すると思うので、設計パターンが役立つと思いました。AjaxとPHPを使用したリアルタイムデータ表示

新しいレコードとウェブサイトに表示されるすべての更新を、ページをリフレッシュせずにリアルタイムで表示する方法について、実装上の考え方はありますか?どのデザインパターンが(サーバー側でもクライアント側でも)役立つでしょうか?観察者のパターンを使ってPDOを観察することは有益でしょうか?

NB:私はちょうどJavaScript Ajaxコースをいくつか持っていましたが、私は設計パターンの理論的知識しか持っていませんでしたが、私はOOPをよく知っています。

+0

これはねえ@inkredibly、あなたはこの問題に対する解決策を見つけたhttp://programmers.stackexchange.com/ – DaveRandom

+0

に属するを境には? – SLearner

答えて

1

ベストな方法(本体にあなたの頭のタグの間にその中のすべての新しい更新を

<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> 

場所を

場所をPHPスクリプトに数秒ごとにチェックして、新鮮なdivのためにjQueryのを使用することですあなたのphpファイルは次のようになります

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

、エコー出力され、これまでのものは、あなたのメインページでのdivに表示されます)というのdivに表示されます。クエリを実行してからデータをエコーすることができます。

<?php 

echo "Testing ......"; 

?> 
+0

ありがとうございました。私はあなたの要点を見ていますが、問題は、更新がないときにサーバサイドでスクリプトを実行してクエリを送信する必要があることです。こんにちは、新しいレコードがあると言うサーバサイドのものがほしいと思っています..... – Inkredibly

+0

jQueryは必ずしも必要というわけではありませんが、それは本当に広い範囲の可能性からです。しかし、 "_solution_"の最悪の部分は、実際にはこれが "最良の"方法であるという声明です。 2つめの問題は、実際にはOPを自分のページ全体と10秒ごとに実行する必要があると信じているということです。これは、より軽量なレスポンス(サイズが小さく、サーバー上で必要なチェックのみ実行)より頻繁な更新が可能です)。あなたはイベント彗星は言及しないでください。問題は深刻で、応答はありませんでした。 – Tadeck

関連する問題