Неверный формат таблицы данных: должно быть не менее 2 столбцов на гистограмме Google - PullRequest
1 голос
/ 12 марта 2020

Эта диаграмма отображает информацию из базы данных. Как отобразить более удобное для пользователя сообщение или вообще не рисовать диаграмму, если из базы данных не получены результаты? Я уже пытался поместить строки кода, чтобы нарисовать диаграмму внутри проверки длины, но сообщение об ошибке все еще отображалось.

  google.charts.load('current', {'packages':['bar']});
        google.charts.setOnLoadCallback(drawChart);

    function drawChart() {

        $.getJSON('includes/get_info_bar_chart.php', function(jsonData){

            var gglData = [];

            if(jsonData.length > 0) {
                // load column headings
                var colHead = [];
                Object.keys(jsonData[0]).forEach(function (key) {
                    colHead.push(key);
                });
                gglData.push(colHead);

                // load data rows
                jsonData.forEach(function (row) {
                    var gglRow = [];
                    Object.keys(row).forEach(function (key) {
                        gglRow.push(row[key]);
                    });
                    gglData.push(gglRow);
                });


            }

            var data = google.visualization.arrayToDataTable(gglData);
            var chart = new google.charts.Bar(document.getElementById('d_bar'));
            chart.draw(data);
        });
    }

1 Ответ

0 голосов
/ 12 марта 2020

вы можете проверить количество строк в таблице данных перед построением диаграммы.
если данных нет, отобразить сообщение в контейнере диаграммы.

var container = document.getElementById('d_bar');

var data = google.visualization.arrayToDataTable(gglData);
if (data.getNumberOfRows() > 0) {
  var chart = new google.charts.Bar(container);
  chart.draw(data);
} else {
  container.innerHTML = 'No data found, nothing to see here...';
}
...