2016-02-16 68 views
0

我試圖顯示實時訪問者訪問(編輯)的網站。以下是我的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> 
+0

什麼有用,什麼不工作?當你運行它(或沒有發生)時會發生什麼?你已經完成了什麼類型的調試? – Qirel

+0

的PHP文件的作品,腳本不起作用。 – user1392475

+0

檢查控制檯是否存在可能的錯誤。 – Qirel

回答

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的工作原理,所以...

+0

我複製了你的腳本並刪除了我的腳本。只有「到目前爲止的訪客」的文字出現兩次。 – user1392475

+0

顯然你必須維護jquery init腳本。還有你檢查JS控制檯的錯誤信息? – fusion3k

+0

這是我的HTML文件 – user1392475

0

我運行這個html文件。到目前爲止,我看到'回聲'的訪客:「。 $ uniquevisitors。 「
」; 」。所以PHP文件正在加載。但div datashow保持空

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    var repeatFunction; 
    function updategetTotalVisitors() 
    { 
    $('#datashow').load('getTotalVisitors.php'); 
    } 
    $(document).ready(function() 
    { 
    updategetTotalVisitors(); 
    repeatFunction = setInterval(updategetTotalVisitors, 10000); 
    }); 
</script> 
</head> 
<body> 
<p>Visitors until now:</p> 
<div id="datashow"> </div> 
</body> 
</html> 
+0

如果您直到現在看到«'echo'訪問者:「。 $ uniquevisitors。 「」; '»在HTML頁面中,您的PHP腳本**不**工作。如果有效,你會看到«訪客直到現在:1234»。 – fusion3k

+0

我到目前爲止看到訪問者:1234.而且這個數字每隔10秒就累積一次。但是當我在php文件中刪除echo命令時,我看不到1234了。我試過你的腳本,它工作。你看到的還有那個echo命令?我也檢查js瀏覽器控制,但無法找到錯誤 – user1392475

+0

也許問題出在您的php文件 – fusion3k