увеличение переменной php в цикле javascript

Я пытаюсь создать отображение диаграмм с использованием chartJS, которые являются динамическими как по количеству отображаемых диаграмм, так и по их содержанию. Я застрял в том, как перебрать набор результатов в PHP при циклическом создании диаграмм в JavaScript. Я знаю, что Javascript обрабатывается на стороне клиента, а php - на стороне сервера. Я написал этот код, чтобы дать вам общее представление о том, что я пытаюсь сделать. Прямо сейчас счетчик не увеличивается, и я получаю те же графики, независимо от того, какие данные идут первыми в массиве. В некотором смысле мне нужен какой-то способ отслеживания var i в javascript в php, чтобы получить доступ к содержимому в моем наборе результатов.

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++; ?> } 

Всего 1 ответ


Вы должны назначить переменные php переменным js и работать с ними. Что-то вроде этого

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

Затем преобразовать строку JSON в объект

arrayOfObjects = JSON.parse(data)

После этого повторите ваши данные и распечатайте диаграмму

for (var key in arrayOfObjects) {
console.log(arrayOfObjects[key])
}

Есть идеи?

10000