我试图通过MySQL后,MySQL的JSON数据传递给我的JavaScript加载谷歌图表API。查询成功,但数据格式似乎不正确。任何想法,我在这里做错了吗?我将它保存为.html文件,并通过浏览器打开它。希望应该。将json数据从PHP传递到javascript - 谷歌饼图
< ?php
$DB_hostname = "localhost";
$DB_Name = "root";
$DB_pass = "root";
$tbl_name="tblname"; // Table name
$con = mysql_connect($DB_Hostname,$DB_Name,$DB_pass) or die(mysql_error());
mysql_select_db("dbname", $con);
$sql="SELECT * FROM $tbl_name WHERE is86 = 1";
$result=mysql_query($sql);
$count1 = mysql_num_rows($result);
$sql="SELECT * FROM $tbl_name WHERE is86 = 0";
$result=mysql_query($sql);
$count2 = mysql_num_rows($result);
$data[0] = array("Changes","count1");
$data[1] = array("Apps with IA Architecture",.$count1.);
$data[2] = array("Apps with no IA Architecture",.$count2.);
$data = json_encode($data);
? >
<html>
<head>
<!--Load the AJAX API-->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?=$data?>);
var options = {
title: 'Architecture Changes',
is3D: 'true',
width: 800,
height: 600
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<!--Div that will hold the pie chart-->
<div id="chart_div"></div>
</body>
</html>
我做了以下更改:http://pastebin.com/w3TaLbb2当我单独运行php代码作为php文件时,我得到了[[“Changes”,“count1”],[“带有IA的应用程序架构“,8],[”没有IA架构的应用程序“,18]]作为echo $ data的输出 –
这应该与'arrayToDataTable'方法一起工作。 – asgallant