Как вывести данные из mysql в Google Charts?

Доброго времени суток. Есть БД с таблицей(stat), в данной таблице три столбца(id,month,kolvo).В столбце "month" перечислены месяца(январь- декабрь),а в "kolvo" числа.Нужно отрисовать диаграмму используя Google Charts.
При использовании данных статичных все работает,а когда берутся данные из таблицы экран пуст.Если открыть консоль в разделе js ошибка " Invalid JSON......".
Содержание файла script.js
// Load the Visualization API and the piechart package.
      google.load('visualization', '1.0', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);
     
      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        var jsonData = $.ajax({
          url: "data.php",
          dataType:"json",
          async: false
          }).responseText;

        // Create the data table.
        var data = new google.visualization.DataTable(jsonData);
       

        // Set chart options
        var options = {'title':'Численность рейсов',
                       'width':400,
                       'height':400,};

        // Instantiate and draw our chart, passing in some options.
      
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }

Содержание файла data.php
define("HOST", "localhost");
  define("USER", "root");
  define("PASSWORD", "");
  define("DB_NAME", "test");

  $db_connect = mysql_connect(HOST,USER,PASSWORD,TRUE);
  if(!$db_connect){
    die('Ошибка подключени'.mysql_error());
  }
  
  mysql_select_db(DB_NAME, $db_connect);
  echo 'Подключение прошло успешно';
  // mysql_set_charset($db,"utf8");

  function getDataString() {
    global $db_connect;
  $query=mysql_query("SELECT month, kolvo FROM stat") or die(mysql_error());
 
  $data= '{"cols":[';
  $data.='{"id":"","label":"Месяц","type":"string"},';
  $data.='{"id":"","label":"Количество","type":"number"}';
  $data.='],"rows":[';
        while($row=mysql_fetch_assoc($query)){
          $data.='{"c":[{"v":"'.$row['month']. '"},{"v":'.$row['kolvo'].'}]},';
          }       
  $data=rtrim($data,',');
  $data.=']}';
  return $data;
}
echo getDataString();


Думаю ошибка в цикле,а точнее в выводе из цикла.

Содержание ошибки
Error: Invalid JSON string: Подключение прошло успешно{"cols":[{"id":"","label":"Месяц","type":"string"},{"id":"","label":"Количество","type":"number"}],"rows":[{"c":[{"v":"Январь"},{"v":0}]},{"c":[{"v":"Февраль"},{"v":0}]},{"c":[{"v":"Март"},{"v":0}]},{"c":[{"v":"Апрель"},{"v":2}]},{"c":[{"v":"Май"},{"v":0}]},{"c":[{"v":"Июнь"},{"v":5}]},{"c":[{"v":"Июнь"},{"v":5}]},{"c":[{"v":"Август"},{"v":0}]},{"c":[{"v":"Сентябрь"},{"v":0}]},{"c":[{"v":"Октябрь"},{"v":0}]},{"c":[{"v":"Ноябрь"},{"v":0}]},{"c":[{"v":"Декабрь"},{"v":0}]}]}
  • Вопрос задан
  • 3288 просмотров
Решения вопроса 1
valerium
@valerium
Изобретая велосипед
Уберите вот эту строку
echo 'Подключение прошло успешно';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы