显示实时总访问者

时间:2016-02-16 21:56:48

标签: php jquery

我试图显示实时访问者访问(编辑)该网站。下面是我的名为uniquevisitors的PHP文件。在php文件中,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>"; 显示良好。

 <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函数时,我无法使其正常工作。有人给我正确的方向/解决方案吗?

{{1}}

1 个答案:

答案 0 :(得分:0)

首先,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>

上面的脚本适用于我。显然我用假的 getTotalVisitors.php 测试了它,但是你说你的php工作了,所以......