Пожалуйста, не отмечайте как дубликат, я прошел форум и не могу это исправить (я учусь)
Я получаю данные с mysql на php веб-страницу для диаграмма.
У меня есть файл sql. php, который подключается к БД и получает данные, это работает (я вхожу в браузер, и он отображает данные в формате Json для меня.
Когда я затем go на веб-странице php и добавляю код для отображения данных, я получаю сообщение об ошибке
SyntaxError: JSON .parse: неожиданный символ в строке 2 столбца 1 из JSON data
Вот код веб-страницы:
<?php $json_data = include ('sql.php'); ?>
<script>
am4core.ready(function() {
// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end
var chart = am4core.create("chartdiv", am4charts.PieChart3D);
chart.hiddenState.properties.opacity = 0; // this creates initial fade-in
chart.legend = new am4charts.Legend();
chart.data = <?=json_data?>;
chart.innerRadius = 100;
var series = chart.series.push(new am4charts.PieSeries3D());
series.dataFields.value = "total_population";
series.dataFields.category = "country_name";
}); // end am4core.ready()
</script>
Как сказано, когда я go в браузере, чтобы проверить файл подключения sql. php, он извлекает данные и отображает их. Однако я также приведу этот код здесь, на всякий случай.
<?php
// Connect to MySQL
$link = new mysqli( 'localhost', 'root', '', 'amchart' );
if ( $link->connect_errno ) {
die( "Failed to connect to MySQL: (" . $link->connect_errno . ") " . $link->connect_error );
}
// Fetch the data
$query = "
SELECT *
FROM country_population
ORDER BY date DESC";
$result = $link->query( $query );
// Set proper HTTP response headers
header( 'Content-Type: application/json' );
// Print out rows
$data = array();
while ( $row = $result->fetch_assoc() ) {
$arr = array (
'country_name' => $row ['country_name'] ,
'total_population' => $row ['total_number']
);
$data[] = $row;
}
echo json_encode( $data );
// Close the connection
mysqli_close($link);
?>
Спасибо
В ответ на davidgiga1993 вот вывод, который я получаю, запустив просто соединение php (sql. php)
[{"id":"9","date":"2020-04-10","country_name":"Russia","total_number":"1458 72256 "},{"id":"8","date":"2020-04-09","country_name":"Bangladesh","total_number":"163046161"},{"id":"1","date":"2020-04-08","country_name":"China","total_number":"1433783686"},{"id":"2","date":"2020-04-07","country_name":"India","total_number":"1366417754"},{"id":"7","date":"2020-04-06","country_name":"Nigeria","total_number":"200963599"},{"id":"6","date":"2020-04-05","country_name":"Brazil","total_number":"211049527"},{"id":"4","date":"2020-04-02","country_name":"Indonesia","total_number":"270625568"},{"id":"5","date":"2020-04-02","country_name":"Pakistan","total_number":"216565318"},{"id":"3","date":"2020-04-01","country_name":"United States","total_number":"329064917"}]