Как задать значения в JavaScript (Highcharts) с помощью PHP
У меня есть следующее настоящее в chart.js
:
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
У меня есть таблица под названием monthly_flagged
, в которой хранится общее количество помеченных сообщений за каждый месяц. Я пытаюсь создать линейный график, чтобы показать колебания между количеством отмеченных сообщений каждый месяц.
Используя PHP, я получил следующие данные:
$statement = mysqli_prepare ($connect, "SELECT * FROM monthly_flagged");
mysqli_stmt_execute($statement);
$get_data = mysqli_fetch_assoc ($statement);
$month = $get_data['month'];
$year = $get_data['year'];
$total_flaggged = $get_data['total_flagged'];
mysqli_stmt_close($statement);
Дело в том, что я не уверен в том, как я могу применить эти данные к JS. Предположим, что в моей таблице monthly_flagged
есть одна строка:
id:1
month: April
year: 2016
total_flagged:28
Используя данные, полученные в $month
и $total_flagged
, я хочу обновить Apr
на моей оси x.
В настоящее время данные отображаются следующим образом (с использованием номеров тестов):
series: [{
name: 'Flagged posts',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}
Но мне в основном нужно, чтобы это выглядело примерно так:
series: [{
name: 'Flagged posts',
data: [$monthJan, $monthFeb, $monthApr, ...]
}
Но опять же, не знаю, как это сделать.
1 answers
Попробуйте сохранить ваши данные в массиве,
$statement = mysqli_prepare ($connect, "SELECT * FROM monthly_flagged");
mysqli_stmt_execute($statement);
$months = array();
$data = array();
$result = mysqli_stmt_get_result($statement);
while($get_data = mysqli_fetch_assoc ($result)){
$months[] = $get_data['month'];
$data[] = $get_data['total_flagged'];
}
mysqli_stmt_close($statement);
Затем на вашем javascript:
xAxis: {
categories: [<?php echo json_encode($months); ?>]
},
И, наконец:
series: [{
name: 'Flagged posts',
data: [<?php echo json_encode($data); ?>]
}