2012-10-24 98 views
0

我試圖通過一個查詢數據庫空間的php函數來刷新span。但是,我不知道如何保持動態刷新實際的數據庫內容(最好通過定時器)。這是我到目前爲止的內容通過使用Javascript的PHP函數刷新數據庫信息

<script type="text/javascript"> 
window.onload = startInterval; 
function startInterval() 
{ 
     setInterval("startTime();",1000); 
} 

function startTime() 
{ 
    document.getElementById('spaces').innerHTML = <?php echo get_spaces($id)?>; 
} 
</script> 
+0

設置一個很好地格式化數據的腳本('json_spaces.php'),並且每隔一段時間通過AJAX查詢一次。 – Blender

+0

'<?php echo get_spaces($ id)?>'將執行**服務器端**並回顯一個靜態值。 JavaScript然後被編譯爲客戶端**,並且具有該靜態值,所以它不會在隨後的執行中(在JavaScript中)改變。 –

回答

1

您將不得不使用Ajax來動態加載內容,而無需重新加載頁面。

您將不得不製作一個PHP腳本,該腳本僅輸出要在頁面上動態加載的內容,然後使用Ajax加載此腳本。

有一個簡單的方法使用jQuery做到這一點,看看這個例子:http://www.sitepoint.com/ajax-jquery/

0

像其他海報指出,你將不得不使用AJAX來完成這項工作。下面是一些僞代碼,可以幫助你,

<script type="text/javascript"> 

window.onload = // Start your setInterval, pass it interval.ajax_call() 

var interval = (function(

    // Store data here 
    var data; 

    return { 

     // Make your ajax call within this function 
     ajax_call: function(), 
    } 

)(); 
</script> 

這樣,您就可以通過Ajax回調存儲從數據庫到數據的信息。

1

我認爲get_spaces通過參數ID

有此功能通過

echo json_encode($result); 

返回結果現在,而不是功能START_TIMER調用你的PHP函數,靜態地爲你的榜樣具有以上,具有執行查詢它通過ajax返回

function start_timer(){ 
$.ajax ({ 
url: get_spaces.php?id=1, // replace the parameter with dynamic assignment 
dataType: json, 
Success: function(result){ 
//iterate thru result json obj 
} 
}); 
相關問題