gpt4 book ai didi

php - 在 Javascript 循环中增加 PHP 变量

转载 作者:行者123 更新时间:2023-12-02 19:02:47 27 4
gpt4 key购买 nike

我正在尝试制作一个图表(通过 Google Charts)来显示我的服务器上过去 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);

上面的代码将绘制一条对 Angular 线,从 (x,y) = (0,0) 开始,到 (x,y)=(4,100) 结束

所以我现在想做的是循环 96 次(24 小时内每 15 分钟更新一次 = 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 是客户端,因此存在问题,但我该如何解决这个问题?

谢谢。

最佳答案

可以循环遍历$sqlArray,使用key作为计数器,在每次迭代中输出js。

<?php
foreach($sqlArray as $count => $val)
{
?>
dataTable.setValue(<?php echo $count; ?>,0,<?php echo $val['clients_online']; ?>);
<?php
}
?>

只要您的数据类似于下面的数组,这就会起作用

Array
(
[0] => Array
(
[clients_online] => 44
)

...
[95] => Array
(
[clients_online] => 66
)

你的预期输出应该是这样的

  dataTable.setValue(0,0,44);
...
dataTable.setValue(95,0,66);

关于php - 在 Javascript 循环中增加 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14635392/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com