2012-10-24 65 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 
} 
}); 
相关问题