2011-06-24 16 views
1

PHPを使用してmysqlデータベースのテーブルからデータを表示することを検討していますが、データを自動的に更新して取得します現在の値は5秒ごとに更新されます。ページを更新する必要はありません。これは可能ですか?たぶんJQuery/AJAX?もしそうなら、それはどのように行うことができるかを説明してください/私はそのような情報に5秒ごとにMYSQLテーブルから読み取り、リフレッシュせずにPHPページに結果を動的に表示

おかげ

+0

を行う持ってはい、あなたは簡単にどのように説明してくださいjQueryの/ AJAX –

+0

でそれを実装することができますか? – normanram

+0

@normanramデータベースからインスタントメッセージングをしようとしていますか? – dqhendricks

答えて

1

を見つけることができるリソースに私を指すjQueryのは良いオプションです。 Here are the docs for ajax.

は、次のようなsetInterval

何かがあなたを始めるかもしれないと、この呼び出しを行うことになるでしょう。

setIntervla(updateFromDb,5000); 

function updateFromDb(){ 
    $.ajax({ 
     url: "getUpdates.php", 
    success: function(){ 
    $(this).addClass("done"); 
    } 
    }); 
}; 
2

Aは本当に基本的な例:

function poll(){ 
     $.ajax({ 
      type: "GET", 
      url: "your/php/script/", 
      success: function(data){ 
       // do something with data 
      } 

     }); 
    }; 
    setInterval(poll, 5000); 
+0

'.ajax()'は多くの柔軟性を提供しますが、彼のダッシュボードの一部を更新されたデータで置き換えることを考えているので、代わりに '.load()'を使用する方が良いでしょう。 –

+0

@Francois Deschenes - それはあなたがロードしているものに依存します。質問では正確な使用法は明記されていませんでした。何らかの理由で$/.ajaxオプションを使用したとします。 –

1

正確にAJAXのタイプが使用されているあなたが記述されている、AJAXは、サーバーに行われる非同期要求することができます。

学習のために、Jqueryのようなフレームワークを使用し、AJAX apiを調べることをお勧めします。

基本的には、データベースにクエリを行い、結果に応じて応答するPHPスクリプトが必要です。提案はJSONにエンコードすることです。クライアント上のJavaScriptで

次のようなもの、あなたにする必要があります:あなたはwindow.setInterval()を使用してjQueryの.load()場合

var poll = setInterval(function(){ 
    $.ajax({ 
    type:"GET", 
    url: "yourpage.php", 
    success: function(data){ 
     //HANDLE DATA 
     // use JSON.parse(data); if your JSON encoding your data 
    } 
    }); 
},5000) 
3

あなたがやりたいことができるはずです。 PHPスクリプトは、前のスクリプトを置き換える必要のあるHTMLを返す必要があります。

Javascriptを:

function refreshData() 
{ 
    // Load the content of "path/to/script.php" into an element with ID "#container". 
    $('#container').load('path/to/script.php'); 
} 

// Execute every 5 seconds 
window.setInterval(refreshData, 5000); 
1

だけのjQueryのドキュメントにアクセスしてください:

http://api.jquery.com/category/ajax/

コマンド "jQuery.get()" またはより良い「jQuery.getJson()を使用します"サーバーへのhttp要求を行います。 JSONを使用して、サーバーとクライアント間のより良い通信を実現します。サーバー側からjson文字列を返し、クライアント上でこれをjavascriptオブジェクトに変換します。 (関数jQuery.getJsonがすでにこれを行います)、データ配列のキーと値に簡単にアクセスできます。

ちょうど例:

<? 

$data = array('key'=>'value'); 
return json_encode($data, true); 

クライアント部分:PHPと

サーバ部分

$.getJSON('myurl.php', function(data) { 
    // THIS ONE IS CALLED with your PHP data 
    alert(data.key); 
}); 
1
$(function(){ 
window.setInterval(function(){ 
    $.post("filename.php",{'field1':field1,'field2':field2,'field3':field3},function(data){ 
    //callbackfunction(data) 
}) 
},30000);//millisecs 

})。

そして、あなたのPHPファイルは、すべてのSQL

関連する問題