Я пытаюсь внедрить данные из базы данных в диаграмму Google, но она по-прежнему не работает и показывает «Таблица не имеет столбцов. ×» или диаграмма не отображается вообще. Я в основном вызываю запрос, превращаю его в таблицу Json и загружаю в таблицу Google.
:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript"src="https://code.jquery.com/jquery-3.5.0.js"> </script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart (){
var jsonData = $.ajax({
url: "fetch2.php",
method: "POST",
dataType: "json",
async: false,
}).responseText;
var data = new google.visualization.DataTable(jsonData);
}
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div2'));
chart.draw(data, options);
}
</script>
//...
<div id="chart_div2" style="height: 300px;" class="cartographie"></div>
и fetch2. php:
<?php
$bdd = new PDO("mysql: host=127.0.0.1 ; dbname=test immobilier;charset=utf8", "root","");
$results = $bdd -> query("SELECT `Date`,`Prix` FROM `table 4` WHERE `Commune` = 'Paris' ORDER BY `Date`");
$data = array();
$data['cols'] = array(
array('label' => 'Jour', 'type' => 'number'),
array('label' => 'Prix', 'type' => 'number'));
$rows = array();
foreach ($results as $row) {
$temp = array();
$temp[] = array('v' => (int) $row[0]);
$temp[] = array('v' => (int) $row[1]);
$rows[] = array('c' => $temp);
}
$data['rows'] = $rows;
$json = json_encode(array("data" => $data));
echo $json;
?>