Я хочу использовать Json в Google Charts,
это мой результат Json:
[
{
"Ders": "Coğrafya",
"SoruSayisi": "17"},
{
"Ders": "deneme",
"SoruSayisi": "7"},
{
"Ders": "FEN BİLGİSİ",
"SoruSayisi": "8"},
{
"Ders": "Geometri",
"SoruSayisi": "5"}]
мой код php:
public function getLessonCount()
{
$result = $this->getModelsManager()->createBuilder()
->addFrom("\App\Models\Content\Dersler", "d")
->columns(array("Ders"=>"d.dersAdi","SoruSayisi"=>"count(q.dersId)"))
->innerJoin("\App\Models\CmsQuestion",'q.dersId=d.dersId', "q")
->groupBy("d.dersAdi")
->getQuery()->execute();
return $result;
}
JavaScript-код в AngularJS:
//google visualization loader
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(getDatas());
function drawChart() {
var data = new google.visualization.DataTable([$scope.datas]);
var options = {
title: 'Toplam Soru Sayısı: '
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
// вызываем функцию getDatas для получения результата json
function getDatas(){
//call web service to get json
WebService.getDatas(function (data) {
if (data) {
//put data in scope.datas
$scope.datas =data;
drawChart();
}
});
}
также HTML-код:
<div data-ng-controller="AnalizController">
<div class="panel panel-primary">
<div class="panel-heading">
<h3>Analiz</h3>
</div>
<div class="panel-body">
<div class="AnalyzeWrapper">
<div class="AllQuestions">
<div id="piechart" style="width: 40%; height: 40%"></div>
</div>
</div>
</div>
</div>
</div>
но я получил ошибку в HTML-странице: таблица не имеет столбцов.
Задача ещё не решена.
Других решений пока нет …