我正在尝试制作一个图表(通过谷歌图表),显示过去 24 小时我服务器上的用户活动。每 15 分钟(通过 cron)获取用户活动的数据并存储在本地数据库中。由于数据库每 15 分钟更新一次,因此该图不是静态的。
该图显然需要一些数字作为输入,以便它可以绘制。这是一个简单的 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)=(4,100) 结束的对角线
所以我现在要做的是循环 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 是客户端,因此是问题所在,但我该如何解决这个问题?
谢谢。