显示实时访客总数


show realtime total visitors

我试图显示访问该网站的实时访问者。下面是我的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可以工作,所以......