개발 Q&A

제목 구글 차트 질문있습니다 ㅠㅠ
카테고리 기타
글쓴이 니로 작성시각 2016/11/22 10:20:16
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 17060   RSS

 

<?php
$title = array(
    array('제품명(규격)', '판매금액',array('role' => 'annotation'),'판매건수', array('role' => 'annotation')),
    array('', 0,'',0,'') //이거안쓰면 Data column(s) for axis #0 cannot be of type string 에러남..
);
 
foreach($rows as $k=>$val)
{
    $cnt = $val['CNT'];
    $total = number_format($val['GRANDTOTAL']);
    $addrow[$k] = array($val['PUMNAME'].'('.$val['PUMGYU'].')', $val['GRANDTOTAL'],$total, $cnt, $cnt);   
}
$data = array_merge($title, $addrow);
 
?>
<script src="//www.google.com/jsapi"></script>
<script>
 
var data = <?= json_encode($data) ?>;
 
var options = {
        title: "제품별 매출통계 (단위: 원)",
        width: 1000,
        height: 2000,
        bar: {groupWidth: "60%"},
        legend : {position:'top'},
        logScale : true
      };
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(function() {
  var chart = new google.visualization.BarChart(document.querySelector('#chart_div'));
  chart.draw(google.visualization.arrayToDataTable(data), options);
});
 
</script>

 

 

1. 소스 제일 상단 $title 배열부분에 공백값을 안주면 에러가 발생하는데 왜그런지 모르겠습니다..ㅠ

   아무리 검색하고 구글링해봐도 답이 없어요..

부탁드리겠습니다  선배님들...ㅠ

 

 다음글 php 배열 질문있습니다. 로그 데이터 빈 값 채우기 ... (2)
 이전글 월마다 한개의 날짜를 생성할려고 하는데 날짜 생성시 간... (4)

댓글

니로 / 2016/11/23 08:30:05 / 추천 0

자답입니다.

공백으로 만들어준 배열에 0을 숫자형으로만 인식을 하더군요 타이틀을 제외하고 처음들어오는 값이 숫자이어야만 해당 루프를 돌면서

그래프를 생성하는것 같습니다.

 

그래서 foreach문을 돌면서 배열을 만들때 숫자형자료앞에 (int)로 형변환을했더니 공백배열을 빼고도 실행이되네요

 

이틀간의 고민이 (int)하나로 해결되니 조금 허무하기도 하지만 새로운사실을 배워서 기쁘네요 ㅋㅋ

 

$addrow[$k] = array($val['PUMNAME'].' ('.$val['PUMGYU'].')', (int)$val['GRANDTOTAL'], $total.'원', (int)$cnt, $cnt.'건');