我正在嘗試製作一個Graph(通過Google Charts),它在過去24小時內在我的服務器上顯示用戶活動。用戶活動的數據每隔15分鐘(通過cron)提取並存儲在本地數據庫中。由於數據庫每15分鐘更新一次,因此該圖不是靜態的。在Javascript循環中增加PHP變量
該圖顯然需要一些數字作爲輸入以便繪製。這裏是JavaScript作品的一個簡單的例子:
dataTable.setValue(0, 0, 0);
dataTable.setValue(1, 0, 25.0);
dataTable.setValue(2, 0, 50.0);
dataTable.setValue(3, 0, 75.0);
dataTable.setValue(4, 0, 100.0);
上面的代碼將繪製的對角線從(X,Y)=(0,0),並且在(X,Y)=結束(4100)
所以我現在要做的是做96次循環(每15分鐘更新24小時= 15 x 24 = 96)。
因此,這裏是我的嘗試:
for(x=0;x<96;x++){ //copy PHP array into javascript array
javaArray[x] = <?php echo $sqlArray[$count]['clients_online'];?>;
<?php $cnt++; ?>
}
for (var x=0;x<96;x++){ //draw graph
dataTable.setValue(x, 0, javaArray[x]);
}
在第一次for循環,我從PHP數組傳遞數據(從數據庫中獲取)成JavaScript數組。完成後,我在第二個for循環中繪製圖形。
$ count變量在for循環內正確增加,但我的問題是它在每個循環後重置。
我知道PHP是服務器端,而javascript是客戶端,因此問題,但我該如何解決這個問題?
謝謝。
爲什麼所有的計數變量?您可以將服務器端PHP數組傳遞給JavaScript,並使用JSON'<?php $ arr = array(1,2,3,4); ?>/* Javascript */js_arr = JSON.parse(<?php json_encode($ arr);?>);'。從問題中提供的信息中,我無法確定哪個計數變量正在改變;但我看到一個PHP數量變量沒有被傳遞給JavaScript,是嗎? –
15 x 24!= 96,你想說的是4 * 24 = 96或者爲了更簡單的理解60/15 * 24 –