我正在尝试制作一个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 –