2010-05-11 113 views
1

我有一些數據,並希望創建一些動態圖表。我看過谷歌可視化api ..它看起來不錯,但問題是我不是很熟悉它。任何想法,我怎麼能從MySQL數據設置data.setValue如何從mysql數據創建圖表? (使用谷歌可視化API)

<script type='text/javascript'> 
    google.load('visualization', '1', {'packages': ['geomap']}); 
    google.setOnLoadCallback(drawMap); 

    function drawMap() { 
     var data = new google.visualization.DataTable(); 
     data.addRows(6); 
     data.addColumn('string', 'Country'); 
     data.addColumn('number', 'Popularity'); 
     data.setValue(0, 0, 'Germany'); 
     data.setValue(0, 1, 200); 
     data.setValue(1, 0, 'United States'); 
     data.setValue(1, 1, 300); 
     data.setValue(2, 0, 'Brazil'); 
     data.setValue(2, 1, 400); 
     data.setValue(3, 0, 'Canada'); 
     data.setValue(3, 1, 500); 
     data.setValue(4, 0, 'France'); 
     data.setValue(4, 1, 600); 
     data.setValue(5, 0, 'RU'); 
     data.setValue(5, 1, 700); 

     var options = {}; 
     options['dataMode'] = 'regions'; 

     var container = document.getElementById('map_canvas'); 
     var geomap = new google.visualization.GeoMap(container); 
     geomap.draw(data, options); 
    }; 
    </script> 

我可以使用其他一些方法創建圖表,但只是對使用Google Visualization API感興趣。

謝謝。

回答

2

更新:

看一看你能如何將數據添加到圖表。你有可能add data in JSON

你唯一需要做的就是準備一個相應的PHP數組。然後你可以序列化這個數組並設置數據。例如。

<?php 
// $data is an array and already has the correct structure... 
$jdata = json_encode($data); 

?> 

<!-- later ... --> 

<script type='text/javascript'> 
    google.load('visualization', '1', {'packages': ['geomap']}); 
    google.setOnLoadCallback(drawMap); 

    function drawMap() { 
     var data = new google.visualization.DataTable(<?php echo $jdata ?>); 
     var options = {}; 
     options['dataMode'] = 'regions'; 

     var container = document.getElementById('map_canvas'); 
     var geomap = new google.visualization.GeoMap(container); 
     geomap.draw(data, options); 
    }; 
</script> 

我推薦閱讀文檔/ API reference。我發現基本上這只是通過搜索...


沒有進一步的信息,我們無法給出一個明確的答案,而是一般的做法是:

假設你已經獲取從您的數據庫中的記錄結果集$results比你只能循環它:

<?php foreach($results as $row): ?> 

    data.setValue(<?php echo $row['column1']; ?>, <?php echo $row['column2']; ?>); 
    // depends on what type of char you want to create, on your actual data etc. 

<?php endforeach; ?> 
+0

。謝謝我理解這種方法,有沒有更好的方式沒有把它混合起來..我的意思是例如,調用data.php返回一些格式化的數據..就像它。 Thx – user187580 2010-05-11 12:50:52

+0

@ user187580:請參閱我的更新回答。 – 2010-05-11 13:19:29

+0

乾杯@Felix。非常感謝。 – user187580 2010-05-11 14:01:24

0

我建議使用http://pchart.sourceforge.net/ pchart進行繪圖。它完美地工作。

+0

我可以使用其他方法創建圖表,但只是有興趣使用谷歌可視化API。 Thx – user187580 2010-05-11 12:43:32

+0

谷歌有一些限制,如點限制和每日查詢限制 – osm 2010-05-11 12:51:44

+0

嗯..以及..我打算使用它的一些admi功能,所以不會有很多電話..所以沒有限制的問題。 Thx – user187580 2010-05-11 12:56:54