我试图显示访问该网站的实时访问者。下面是我的PHP文件名getTotalVisitors
。在 php 文件中,uniquevisitors
显示得很好。
include 'common.php'; //get database connection
$query = "SELECT SUM(uniquevisitors) as uniquevisitors FROM " . $DBPrefix . "currentaccesses";
$params = array();
$db->query($query, $params);
while ($new = $db->fetch())
{
$uniquevisitors = $new['uniquevisitors'];
}
echo "visitors until now: " . $uniquevisitors . "<br>";
当我尝试使用以下脚本使用更新和 setInterval 函数实时获取它时,我无法让它工作。有人给我正确的方向/解决方案吗?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
function updategetTotalVisitors()
{
$('#datashow').load('getTotalVisitors.php');
}
updategetTotalVisitors(); //set the datacount as soon as the page is loaded
setInterval( "updategetTotalVisitors()", 10000 ); //update the datashow every 10 seconds
});
</script>
<p>Visitors until now:</p>
<div id = "datashow"></div>
首先,setInterval
的函数参数必须不加引号且不带括号:
setInterval( updategetTotalVisitors, 10000 );
然后,您必须声明updategetTotalVisitors
范围之外$(document).ready
并将返回值 setInterval
分配给变量:
<script type="text/javascript">
var repeatFunction;
function updategetTotalVisitors()
{
$('#datashow').load( 'getTotalVisitors.php' );
}
$(document).ready(function()
{
updategetTotalVisitors();
repeatFunction = setInterval( updategetTotalVisitors, 10000 );
});
</script>
上面的脚本对我来说有效。显然我已经用假的getTotalVisiters.php测试过它,但是你说你的php可以工作,所以......