PHPを使用してmysqlデータベースのテーブルからデータを表示することを検討していますが、データを自動的に更新して取得します現在の値は5秒ごとに更新されます。ページを更新する必要はありません。これは可能ですか?たぶんJQuery/AJAX?もしそうなら、それはどのように行うことができるかを説明してください/私はそのような情報に5秒ごとにMYSQLテーブルから読み取り、リフレッシュせずにPHPページに結果を動的に表示
おかげ
PHPを使用してmysqlデータベースのテーブルからデータを表示することを検討していますが、データを自動的に更新して取得します現在の値は5秒ごとに更新されます。ページを更新する必要はありません。これは可能ですか?たぶんJQuery/AJAX?もしそうなら、それはどのように行うことができるかを説明してください/私はそのような情報に5秒ごとにMYSQLテーブルから読み取り、リフレッシュせずにPHPページに結果を動的に表示
おかげ
を見つけることができるリソースに私を指すjQueryのは良いオプションです。 Here are the docs for ajax.
は、次のようなsetInterval
何かがあなたを始めるかもしれないと、この呼び出しを行うことになるでしょう。
setIntervla(updateFromDb,5000);
function updateFromDb(){
$.ajax({
url: "getUpdates.php",
success: function(){
$(this).addClass("done");
}
});
};
Aは本当に基本的な例:
function poll(){
$.ajax({
type: "GET",
url: "your/php/script/",
success: function(data){
// do something with data
}
});
};
setInterval(poll, 5000);
'.ajax()'は多くの柔軟性を提供しますが、彼のダッシュボードの一部を更新されたデータで置き換えることを考えているので、代わりに '.load()'を使用する方が良いでしょう。 –
@Francois Deschenes - それはあなたがロードしているものに依存します。質問では正確な使用法は明記されていませんでした。何らかの理由で$/.ajaxオプションを使用したとします。 –
正確に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)
あなたがやりたいことができるはずです。 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);
だけの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);
});
$(function(){
window.setInterval(function(){
$.post("filename.php",{'field1':field1,'field2':field2,'field3':field3},function(data){
//callbackfunction(data)
})
},30000);//millisecs
})。
そして、あなたのPHPファイルは、すべてのSQL
を行う持ってはい、あなたは簡単にどのように説明してくださいjQueryの/ AJAX –
でそれを実装することができますか? – normanram
@normanramデータベースからインスタントメッセージングをしようとしていますか? – dqhendricks