Json Ошибка в синтаксисе - как мне подсказывает консоль - PullRequest
0 голосов
/ 10 апреля 2020

Пожалуйста, не отмечайте как дубликат, я прошел форум и не могу это исправить (я учусь)

Я получаю данные с 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"}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...