Я получаю данные с помощью этого кода:
Код: Выделить всё
$statement = $pdo->prepare(
" SELECT
Date(a_timestamp) AS thedate,
count(a_timestamp) AS counted
FROM `$dbtable`
WHERE Year(a_timestamp) = '2019'
GROUP BY thedate
ORDER BY thedate
");
$statement->execute();
$result = $statement->fetchAll();
var_dump($result);
print json_encode($result);
Код: Выделить всё
array(2) {
[0]=>
array(4) {
["thedate"]=>
string(10) "2019-06-15"
[0]=>
string(10) "2019-06-15"
["counted"]=>
string(2) "30"
[1]=>
string(2) "30"
}
[1]=>
array(4) {
["thedate"]=>
string(10) "2019-06-16"
[0]=>
string(10) "2019-06-16"
["counted"]=>
string(2) "29"
[1]=>
string(2) "29"
}
}
[{"thedate":"2019-06-15","0":"2019-06-15","counted":"30","1":"30"},{"thedate":"2019-06-16","0":"2019-06-16","counted":"29","1":"29"}]
Код: Выделить всё
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
data: [0, 10, 5, 2, 20, 30, 45]
Я думаю, их много. способы: изменение результата PDO, преобразование полученного массива и редактирование массива с помощью js.
Я пытался изменить результат PDO с помощью fetchColumn, но тогда я смог получить только один столбец и мне пришлось выполнить два запроса SQL, верно?
Я пытался преобразовать полученный массив с помощью $singleD = array_reduce($result, 'array_merge', array());, но не подошло.
Я попробовал два руководства по Chart.js, но думаю, что входные данные json были неправильно отформатированы. https://www.dyclassroom.com/chartjs/cha ... le-and-php и https://phppot.com/php/creating- динамический-график-данных-с использованием-php-and-chart-js/
Подробнее здесь: https://stackoverflow.com/questions/566 ... or-a-chart