希望将SQL插入添加到我的谷歌图表中。我查看了API中的google示例,但是它使用了包含值的set文件。我在这里看到了一些例子,但它们看起来相当复杂。
我想用我的数据库中的数据填充图表,我使用折旧代码,这只是一个例子。我已阅读有关使用json_encode
的信息。然而,当我将它应用于我的输出时,我得到的引用根据以下谷歌示例不需要。
简而言之,我如何才能在下面的图表中显示这个简单的查询?
查询示例
while($row = mysqli_fetch_array($result))
{
$data1[]= "['" . $row1['Date'] . "','" . $row1['SpeciesB'] . "']";
echo "['" . $row['Date'] . "','" . $row['SpeciesA'] . "','" . $row['SpeciesB'] . "'],";
echo "<br>";
}
输出
['2013-08-06','1','1'],
['2013-08-13','1','2'],
['2013-08-20','2','2'],
['2013-08-27','3','1'],
['2013-09-17','4','1'],
或
print_r($data1);
Array ( [0] => ['2013-08-06','1'] [1] => ['2013-08-13','2'] [2] => ['2013-08-20','2'] [3] => ['2013-08-27','1'] [4] => ['2013-09-17','1'] )
谷歌期望的例子
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Species A', 'Species B'],
['20/05/2006', 1, 1],
['20/06/2006', 3, 2],
['20/07/2006', 2, 2],
['20/08/2006', 3, 1]
]);
var options = {
title: 'Site Dynamics'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
答案 0 :(得分:0)
您希望使用json_encode来处理为您构建输出的详细信息,因为您当前的方法将在Internet Explorer中遇到问题(在最后一行数据之后,您将始终使用训练逗号,这将导致IE炸弹)。试试这个:
$dataArray = array(array('Date', 'Species A', 'Species B'));
while($row = mysqli_fetch_array($result)) {
// parse the "SpeciesA" and "SpeciesB" values as integer (int) or floating point (float), as appropriate
$dataArray[] = array($row['Date'], (int) $row['SpeciesA'], (int) $row['Speciesb']);
}
并在javascript中:
var data = google.visualization.arrayToDataTable(<?php echo json_encode($dataArray); ?>);