Диаграммы bootstrap charts. Реализация на php
Как вывести значения из таблицы базы данных?
var ctx = document.getElementById("team-chart");
if (ctx) {
ctx.height = 150;
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["январь 2019", "февраль 2019", "июнь 2019", "февраль 2020", "апрель 2020", "май 2020", " июнь 2020"], // дата - значения брать из БД
type: 'line',
defaultFontFamily: 'Poppins',
datasets: [{
data: [0, 7, 3, 5, 2, 10, 7], // количество в месяц - значения брать из БД
label: "Expense",
backgroundColor: 'rgba(0,103,255,.15)',
borderColor: 'rgba(0,103,255,0.5)',
borderWidth: 3.5,
pointStyle: 'circle',
pointRadius: 5,
pointBorderColor: 'transparent',
pointBackgroundColor: 'rgba(0,103,255,0.5)',
},]
},
options: {
responsive: true,
tooltips: {
mode: 'index',
titleFontSize: 12,
titleFontColor: '#000',
bodyFontColor: '#000',
backgroundColor: '#fff',
titleFontFamily: 'Poppins',
bodyFontFamily: 'Poppins',
cornerRadius: 3,
intersect: false,
},
legend: {
display: false,
position: 'top',
labels: {
usePointStyle: true,
fontFamily: 'Poppins',
},
},
scales: {
xAxes: [{
display: true,
gridLines: {
display: false,
drawBorder: false
},
scaleLabel: {
display: false,
labelString: 'Month'
},
ticks: {
fontFamily: "Poppins"
}
}],
yAxes: [{
display: true,
gridLines: {
display: false,
drawBorder: false
},
scaleLabel: {
display: true,
labelString: 'Value',
fontFamily: "Poppins"
},
ticks: {
fontFamily: "Poppins"
}
}]
},
title: {
display: false,
}
}
});
}
<div class="row">
<div class="au-card m-b-30">
<div class="au-card-inner">
<h3 class="title-2 m-b-40"></h3>
<canvas id="team-chart"></canvas>
</div>
</div>
</div>
На php это можно сделать просто:
$query = \R::getAll("SELECT YEAR(updated_at) AS year, MONTHNAME(updated_at) AS month, COUNT(*) AS cnt FROM tickets GROUP BY YEAR(updated_at), MONTHNAME(updated_at)");
foreach ($query as $item) {
echo $item['month'] . ' ' . $item['year'] . ' ' . $item['cnt'];
}
Нужно передать массив $query в js? И в js перебрать этот массив?