私はたくさん検索して、ついにGoogleチャートコードを実行することができました. これは、データ ビューとデータ テーブルの両方を使用したコードです。
// これが chartDraw.php の私のコードです
<html>
<head>
<!--Load the AJAX API -->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function drawChart(){
var jsonData = $.ajax({
url:"getdata.php",
dataType:"json",
async:false
}).responseText;
//This is used when you hard code your values: static data. Here I am taking data from database so commented it.
/*var jsonData='{"cols":[{"label":"User ID","type":"string"},{"label":"Group Name","type":"string"},{"label":"Requested Nodes","type":"number"},{"label":"Actual PE","type":"number"}],"rows":[{"c":[{"v":"user 1"},{"v":"ufhpc"},{"v":1},{"v":5.000}]},{"c":[{"v":"user2"},{"v":"ufhpc"},{"v":1},{"v":7.000}]}]}';
*/
//Create our data table out of JSON data loaded from server
var data=new google.visualization.DataTable(jsonData);
//PieCharts expects 2 columns of data: a label and a value, so we need to use a DataView to restrict to 2 columns
var view=new google.visualization.DataView(data);
view.setColumns([0,3]);
//Instantiate and draw our chart, passing in some options
var chart=new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(view,{width:400,height:240});
}
//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);
</script>
</head>
<body>
<!--Div that will hold the pie chart -->
<div id="chart_div"></div>
</body>
</html>
//getdata.php: 接続とクエリが含まれています
<?php
mysql_connect('localhost','user','password');
mysql_select_db('dbname');
$sqlquery1="select userid,group_name,req_nodes,actualPE from jobs where userid='zhang' limit 200";
$sqlresult1=mysql_query($sqlquery1);
$table=array();
$table['cols']=array(
array('label'=> 'User ID', type=>'string'),
array('label'=>'Group Name', type=>'string'),
array('label'=>'Requested Nodes', type=>'number'),
array('label'=>'Actual PE', type=>'number')
);
$rows=array();
while($r=mysql_fetch_assoc($sqlresult1)){
$temp=array();
$temp[]=array('v' => $r['userid']);
$temp[]=array('v' => $r['group_name']);
$temp[]=array('v' =>(int) $r['req_nodes']);
$temp[]=array('v' =>(float) $r['actualPE']);
$rows[]=array('c' => $temp);
}
$table['rows']=$rows;
$jsonTable = json_encode($table);
//this print statement just for testing
print $jsonTable;
?>
DataView
クラスとDataTable
コンストラクタの違いは何ですか? を使用DataView
しないと印刷されません。