簡體   English   中英

每隔5秒從MYSQL表讀取一次,並在PHP頁面上動態顯示結果而無需刷新

[英]Reading from a MYSQL table every 5 seconds and dynamically displaying results on a PHP page without refreshing

我正在尋找使用PHP從mysql數據庫中的表中顯示數據的方法,但是,我希望數據能夠自動更新自身並每5秒檢索一次當前值。而不必刷新頁面。 這可能嗎? 也許使用JQuery / AJAX? 如果是這樣,請說明如何完成/將我指向可以找到此類信息的資源

謝謝

如果您使用window.setInterval()和jQuery的.load() ,則應該能夠執行所需的操作。 PHP腳本應返回需要替換前一個HTML的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);

一個非常基本的例子:

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

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

jQuery是一個不錯的選擇。 這是ajax的文檔。

您將要使用setInterval進行此調用

這樣的事情可能會讓您入門。

setIntervla(updateFromDb,5000);

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

您所描述的正是AJAX所使用的類型,AJAX允許向您的服務器發出異步請求。

為了學習,我建議使用類似Jquery的框架,並研究AJAX api。

基本上,您將需要一個PHP腳本來查詢數據庫並以所需的方式響應結果。 一個建議是對它們進行JSON編碼。

在客戶端上的JavaScript中,您將需要執行以下操作:

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)

只需轉到jQuery的文檔:

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

使用命令“ jQuery.get()”或更好的“ jQuery.getJson()”向服務器發出http請求。 使用JSON在服務器和客戶端之間獲得更好的通信。 從服務器端返回一個json字符串,並將其在客戶端上轉換為javascript對象。 (jQuery.getJson函數已經為您完成了此操作),因此您可以輕松訪問數據數組中的鍵和值。

只是一個例子:

使用PHP的服務器部分:

<?

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

客戶部分:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM