php - 在 Google GeoChart 中使用 PHP 处理从数据库中获取的数据

标签 php html mysql charts google-visualization

我正在尝试在 GeoChart 上显示数据,这些数据是从“人口”数据库中提取的,代码如下:

<!DOCTYPE html>
<html>
  <head>
    <script type='text/javascript' src='https://www.google.com/jsapi'></script>
    <script type='text/javascript'>
     google.load('visualization', '1', {'packages': ['geochart']});
     google.setOnLoadCallback(drawMarkersMap);

      function drawMarkersMap() {
      var data = google.visualization.arrayToDataTable([

       <?php 
        echo '["City","Population"],';
        require_once('connect_population.php');
        try{
        $query = "SELECT City, People FROM population";

        $statement = $db->query($query);
        while($row = $statement->fetch(PDO::FETCH_ASSOC)){
            echo '["'.$row["City"].'",'.$row["People"].'],';
        }

        }catch(PDOException $e){
            $message = '<p>Something went wrong!</p><p>' . $e->getMessage() . '</p>';
        }
        ?>

      ]);

      var options = {
        region: 'GB',
        displayMode: 'markers',
        colorAxis {colors: ['red', 'yellow']}
      };

      var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    };
        </script>
      </head>
      <body>
        <div id="chart_div" style="width: 900px; height: 500px;"></div>
      </body>
    </html>

PHP 仅在将数据添加到“数据”变量时使用,在 php 部分之后,应包含以下内容:

var data = google.visualization.arrayToDataTable([

["City","Population"],["London",7172091],["Bristol",420556],["Liverpool",469017],["Leeds",443247],["Birmingham",970892],["Manchester",394269],["Newcastle",655875],["Leicester",330574],["Belfast",276459],["Glasgow",629501],["Sheffield",439866],["Edinburgh",430082]    

]);

在浏览器中运行文件时出现问题,因为没有显示任何内容。使用 'inspect element',它在行中显示意外的标记错误:

colorAxis {colors: ['red', 'yellow']}

在选项变量中。

我认为这是为 GeoChart 设置 colorAxis 的正确方法?

任何帮助将不胜感激,因为我仍在学习如何使用 PHP 和 SQL。

最佳答案

你只是缺少一个冒号:

var options = {
   region: 'GB',
   displayMode: 'markers',
   colorAxis : {colors: ['red', 'yellow']}
};
             ^

否则你的代码运行良好 -> http://jsfiddle.net/tnxhg08r/

关于php - 在 Google GeoChart 中使用 PHP 处理从数据库中获取的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314374/

相关文章:

PHP MySQLI 查询 WHERE 当前数据 = 数据库中的日期

html - 电子邮件中的表格未在 MS Outlook 中居中

php - mysql - 子查询返回多于 1 行错误

php - 如何检测 Paypal cookies?

php - 使用 mysql 和 php 选择以相同 4 位数字结尾的行进行分组

javascript - 如何找到显示为无的 HTML 元素的实际高度或宽度

ios - 防止 iframe 中的链接导航/接管 cordova webview,尤其是在 ios 中

mysql - SELECT(IF(IN 查询

mysql - 如何加入具有最大值的行

php - 我可以在 php 中将 mongodb 查询作为字符串传递吗