谷歌图表没有显示新版本

时间:2013-11-28 13:55:55

标签: php mysql google-visualization

这是我在Google Api新版本发布之前用于柱形图的代码,它运行正常。现在我的图表没有显示。我检查了新发布的更改,但我发现有相关内容。第一个问题出现在数组中的数据类型,浮点数据类型是不合法的,如果我用其他数据类型替换它,那么图表仍然没有显示。如果我将浮点数更改为字符串,则会出现错误,表示不会在X轴上使用字符串数据类型。我在X轴上绘制了时间,在Y轴上绘制了距离。如果有人知道如何根据Google Api的新版本更改代码,请分享您的代码或一些信息      

  $host=""; // Host name
  $username=""; // Mysql username
  $password=""; // Mysql password
  $db_name="mysql"; // Database name
  $tbl_name="gprs"; // Table name

 // Connect to server and select database.
 $con=mysql_connect("$host", "$username")or die("cannot connect");
 mysql_select_db("$db_name")or die("cannot select DB");

 $data = mysql_query("select SUM(Distance) as Distance, CAST( Time AS date) as Time from gprs where DeviceId=25 and Time between '2013-08-08' and '2013-09-31' group by CAST(Time AS date) order by CAST( Time AS date)")
 or die(mysql_error()); 

 $table = array();
 $table['cols'] = array(

    array('label' => 'TIME', 'type' => 'string'),
array('label' => 'Distance', 'type' => 'float') 
 );
$rows = array();
while ($nt = mysql_fetch_assoc($data))

{

$temp = array();
$temp[] = array('v' => (string)$nt['TIME']);
$temp[] = array('v' =>(float) $nt['Distance']);
    $rows[]['c'] = $temp;
 }
    $table['rows'] = $rows;
    $jsonTable = json_encode($table);
 ?>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 <title>
 Google Visualization API Sample
 </title>
 <script type="text/javascript" src="//www.google.com/jsapi"></script>
 <script type="text/javascript">
 google.load('visualization', '1', {packages: ['corechart']});
 </script>
 <script type="text/javascript">
 function drawVisualization() {
 // Create and populate the data table.
 var data = new google.visualization.DataTable(<?=$jsonTable?>);

 // Create and draw the visualization.
 new google.visualization.ColumnChart(document.getElementById('visualization')).
    draw(data);
  }

  google.setOnLoadCallback(drawVisualization);  
 </script>
 </head>
 <body style="font-family: Arial;border: 0 none;">
 <div id="visualization" style="width: 600px; height: 300px;"></div>
 </body>
 </html>

1 个答案:

答案 0 :(得分:0)

我已经解决了上述问题。用这个替换上面的数组  array('label'=&gt;'TIME','type'=&gt;'string'),  array('label'=&gt;'fuel','type'=&gt;'number')

和这个$ temp [] =数组('v'=&gt; $ nt ['TIME']);      $ temp [] = array('v'=&gt; $ nt ['fuel']);

并且不使用Packages:columnchart现在它被新的Api版本中的corechart取代