我正在尝试使用chartJS创建图表显示,该图表的显示数量及其内容都是动态的。我被困在如何遍历javascript中创建图表的过程中如何遍历php中的结果集。我知道Javascript是在客户端处理的,而php是在服务器端处理的。我编写了这段代码,是为了让大家对我想做的事情有一个大致的了解。现在,该计数器没有增加,并且无论数组中的第一个数据如何,我最终都得到相同的图形。从某种意义上说,我需要某种方式来跟踪php中javascript中的var i,以访问结果集中的内容。
var charts = [];
<?php $counter = 0; ?>
for (var i = 0; i < <?php echo sizeOf($readingArray); ?>; i++) {
var ctx = document.getElementById(i);
charts[i] = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
label: 'Actual Readings',
data: <?php echo json_encode($readingArray[$counter][4], JSON_NUMERIC_CHECK); ?>,
}, {
label: 'Threshold',
data: <?php echo json_encode($readingArray[$counter][5], JSON_NUMERIC_CHECK); ?>,
}],
labels: <?php echo json_encode($readingArray[$counter][3]);?>,
},
options: {
zoom: {
enabled: true,
mode: 'x',
},
pan: {
enabled: true,
mode: 'x',
},
},
});
<?php $counter++; ?>
}
答案 0 :(得分:0)
您大声将php变量分配给js变量并使用它们。 像这样
var data = '<?php echo json_encode($readingArray); ?>';
然后将json字符串转换为对象
arrayOfObjects = JSON.parse(data)
然后迭代数据并打印图表
for (var key in arrayOfObjects) {
console.log(arrayOfObjects[key])
}