0

我正在尝试使用 chartJS 创建图表显示,该图表显示的图表数量及其内容都是动态的。我被困在如何遍历 php 中的结果集,同时循环创建 javascript 中的图表。我知道 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++; ?>
  }
4

1 回答 1

0

您大喊将 php 变量分配给 js 变量并使用它们。像这样的东西

var data = '<?php echo json_encode($readingArray); ?>';

然后将json字符串转换为对象

arrayOfObjects = JSON.parse(data)

之后迭代您的数据并打印图表

for (var key in arrayOfObjects) {
console.log(arrayOfObjects[key])
}
于 2019-05-16T06:42:21.017 回答