2013-02-28 11 views
6

Çok fazla arama yaptım ve sonunda google grafikler kodumu çalıştırabiliyorum. İşte benim veri görünümü ve veri tablosunu kullanarak benim kodum.Neden DataView (sadece DataTable yerine) PieChart.draw() için geçirmem gerekiyor?

// Burada 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 benim kodudur: bağlantıları ve sorgu

<?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 sınıf ve DataTable yapıcı arasındaki fark nedir içeriyor? DataView kullanmıyorsam, yazdırmıyor.

+0

Bir soru sormayı unuttun –

+1

Sadece bir cevaptı. Sorunumu çözdüm, gönderdim. Ama yine de bir soru ekledim .. – Atihska

+0

Bu site sorular ve cevaplar içindir. öğreticiler değil. –

cevap

0

Kullanım google:

Google visualization API.

Yığın taşması öğreticiler için değil, üretken sorular içindir. Öğreticiler oluşturmak isterseniz, The Code Player adlı bir web sitesini kullanmak isteyebilirsiniz.

İlgili konular