尝试实施将简单数据插入数据库的表单,然后根据该数据库显示Google图表。页面当前为空白。 (当图表显示正确时,我会担心表单的存在。)
我已经在google周围检查了一些答案,但是代码基本上是直接从他们在google图表上的教程中进行了一些修改。
<?php
require_once("apicreds.php");
$db = new PDO($connectionString, $username , $password);
if(!$db){echo "Connection Error";}
if($db){echo "Connected!";}
$query = "SELECT `country`, `sum(visits)` FROM `trips` GROUP BY
`country`";
$result = $db->query($query);
?>
<html>
<head>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.arrayToDataTable([
['country', 'visits'],
<?php
while($row=$result->fetch_assoc())
{
echo "['".$row['country']."',".$row['sum(visits)']."],";
}
?>
]);
var options = {'title':'Visits To Countries',
'is3D':true};
var chart = new
google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>
其中一些标记可能被弄乱了,因此完整代码在这里。
当前表的副本:
国别访问
德国1
加拿大2
英国1
英国1
理想情况下,它应该从表中以3d饼图形式输出,并在插入更多数据时进行更新。那一部分,我以后应该可以处理,但是我需要帮助找出为什么现在无法显示。
答案 0 :(得分:0)
需要使用as
关键字为sum列命名,
结果将没有-> sum(visits)
$query = "SELECT country, sum(visits) as total_visits FROM trips GROUP BY country";
然后在加载数据时,访问命名列...
echo "['".$row['country']."',".$row['total_visits']."],";