Google Chart API实现显示空白页

时间:2019-04-11 00:15:37

标签: php html google-visualization

尝试实施将简单数据插入数据库的表单,然后根据该数据库显示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>

其中一些标记可能被弄乱了,因此完整代码在这里。

https://pastebin.com/31n5KVG2

当前表的副本:

国别访问
德国1
加拿大2
英国1
英国1

理想情况下,它应该从表中以3d饼图形式输出,并在插入更多数据时进行更新。那一部分,我以后应该可以处理,但是我需要帮助找出为什么现在无法显示。

1 个答案:

答案 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']."],";