我有一個index.php
文件,我想每5秒運行getdata.php
。每x秒刷新多個PHP值的最佳方式?
getdata.php
返回需要index.php
顯示在不同的地方多個變量。
我一直在試圖使用jQuery函數沒有運氣。
讓人耳目一新,在上index.php
各個地方的12個<div>
元素,但它不是重新運行getdata.php
文件應該得到的最新數據。
但是,如果我點擊瀏覽器刷新按鈕,數據刷新。
getdata.php
返回約15個變量。
下面是一些示例代碼:
<script>
var refreshId = setInterval(function()
{
$('#Hidden_Data').load('GetData.php'); // Shouldn´t this return $variables
$('#Show_Data_001').fadeOut("slow").fadeIn("slow");
$('#Show_Data_002').fadeOut("slow").fadeIn("slow");
$('#Show_Data_003').fadeOut("slow").fadeIn("slow");
$('#...').fadeOut("slow").fadeIn("slow");
}, 5000); // Data refreshed every 5 seconds
*/
</script>
下面是GetData.php
一個例子:
$query = "SELECT column1, COUNT(column2) AS variable FROM table GROUP BY column";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$column1 = $row['column1 '];
$variable = $row['variable '];
if($column1 == "Text1") { $variable1 = $variable; }
elseif($column1 == "Text2") { $variable2 = $variable; }
... continues to variable 15 ...
}
然後進一步向下頁面的HTML元素顯示數據:
<div id="Hidden_Data"></div>
<div id="Show_Data_001"><?php echo $variable1; ?></div>
<div id="Show_Data_002"><?php echo $variable2; ?></div>
<div id="Show_Data_003"><?php echo $variable3; ?></div>
...
我使用這裏建議的數據參數嘗試: https://stackoverflow.com/a/8480059/498596
但我不能完全理解如何加載所有的變量每5秒,並呼籲他們的索引頁。
今天GetData.php
頁面只是返回$variable1 = X; $variable2 = Y
等。
UPDATE
出於某種原因,jQuery是不加載GatData.php
文件並刷新變量。
我嘗試將「Hidden_Data」添加到include('GetData.php')
,然後變量在頁面上可讀。
如果我刪除此部分,頁面顯示「變量未設置」警告,提示jQuery沒有將GetData.php
腳本加載到Hidden_Data
<div>
中。
「Hidden_Data」內部是否有'Show_Data_001',2和3個元素並由'GetData.php'返回,或者他們已經在您的頁面上的其他地方? – nnnnnn
我把「Hidden_Data」作爲一個單獨的元素在外面。剛剛添加到上面的代碼。 –
'.load()'方法將內容加載到指定的元素('Hidden_Data')中,它不會在一般意義上刷新頁面的其餘部分,更具體地說,它不知道有關PHP變量的任何信息。瀏覽器不知道或不關心該頁面是否具有從PHP設置的動態內容 - 當您使用瀏覽器的「查看頁面源」選項時,您看到的是瀏覽器收到的內容。如果'GetData.php'只是爲了返回這些變量的新值,最好將它改爲返回JSON,然後使用jQuery'$ .getJSON()'方法調用它並處理結果。 – nnnnnn