Как создать диаграмму из данных MySQL? (используя API визуализации Google) - PullRequest
1 голос
/ 11 мая 2010

У меня есть некоторые данные и я хочу создать динамические диаграммы. Я посмотрел на API визуализации Google .. Выглядит отлично, но проблема в том, что я не очень знаком с ним. Любые идеи, как я могу установить data.setValue из данных MySQL.

  <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 ]

2 голосов
/ 11 мая 2010

Обновление:

Посмотрите, как вы можете добавлять данные на график. У вас есть возможность добавить данные в формате 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 . Я в основном нашел это, просто ища ...


Без дополнительной информации мы не можем дать конкретный ответ, но общий подход таков:

Предполагая, что вы уже извлекли записи из вашей БД в наборе результатов $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 голосов
/ 11 мая 2010

Я рекомендую http://pchart.sourceforge.net/ диаграмму для построения графиков. это работает отлично.

...