2013-02-15 2 views
0

PHP를 통해 SQL 서버에서 데이터를 가져 와서 JSON으로 출력하려고하면 HighChart에 사용할 수 있습니다. 지금까지 나는 그것이 결과를 다른 시리즈로 올릴 수 있도록 이해할 수있다.JSON을 통해 HighChart에

SQL/PHP :이

http://i.imgur.com/ww0kasV.png

그리고 인쇄이 차트 같은

$params = array(&$_POST['query']); 

$tsql1 = "SELECT TOP 10 Company_Names, Revenue_Value1, Revenue_Value2 

FROM Database.test report 
GROUP BY Company_Name 
ORDER BY Revenue_Value1 

$options = array("Scrollable" => SQLSRV_CURSOR_KEYSET); 

$getProducts = sqlsrv_query($conn, $tsql1, $params, $options); 

if ($getProducts === false) 

die(FormatErrors(sqlsrv_errors())); 



while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC)) 
{ 
    $rows[] = $row; 
} 

echo json_encode($rows, JSON_NUMERIC_CHECK); 

sqlsrv_free_stmt($getProducts);?> 

는 SQL 인쇄 무엇인가 : 분명히

http://i.imgur.com/rh8ICVH.png

,이 아니다 어떻게 출력할까요?

xAxis를 분기로, yAxis를 Revenue_Value1로, Series-name을 Company_Name으로 출력하고 싶습니다.

현재이 스크립트를 사용하여 PHP 데이터를 가져옵니다.

<script type="text/javascript"> 
$(function() { 
    var chart; 
    $(document).ready(function() { 
     $.getJSON("data.php", function(json) { 

      chart = new Highcharts.Chart({ 
       chart: { 
        renderTo: 'container', 
        type: 'line', 
        marginRight: 130, 
        marginBottom: 25 
       }, 
       title: { 
        text: 'Revenue', 
        x: -20 //center 
       }, 
       subtitle: { 
        text: '', 
        x: -20 
       }, 
       xAxis: { 
        categories: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], 
        title: { text: 'Months'} 
       }, 
       yAxis: { 
        title: { 
         text: 'Revenue' 
        }, 
        plotLines: [{ 
         value: 0, 
         width: 1, 
         color: '#808080' 
        }] 
       }, 
       tooltip: { 
        formatter: function() { 
          return '<b>'+ this.series.name +'</b><br/>'+ 
          this.x +': '+ this.y; 
        } 
       }, 
       legend: { 
        layout: 'vertical', 
        align: 'right', 
        verticalAlign: 'top', 
        x: -10, 
        y: 100, 
        borderWidth: 0 
       }, 
       series: json 
      }); 
     }); 

    }); 

}); 
     </script> 

data.php 에코 : 난 .. 난 아직도 내가 달성하기 위해 노력하고 무엇을 볼 수 있기를 바랍니다 때문에 몇 가지 규칙 일부 값을 변경했습니다 물론

{"Company_Names":"Company_Name","Revenue_Value1":45443,"Revenue_Value2":4654} 

.

편집 :이 HighCharts이 그것을 읽을 수있는 방법에서 내 데이터를 넣어

$arr = array(); 

while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC)) 
{ 
    $name = $row['Distributor']; 
    $data = array($row['Value']); 

    $arr[] = array('name' => $name, 'data' => $data); 
} 

echo json_encode($arr, JSON_NUMERIC_CHECK); 

+0

을 뭔가 VAR j =[]; j.push(json);을 시도 배열에 있어야합니다 오류, 누락' ";''ORDER BY Revenue_Value1' 후 –

+0

약간의 오류가 있습니까? –

+0

SQL에 관해서는 ... 저는 제 데이터가 어떻게 보이는지 그림을 그렸습니다. 그래서 실제로 sq 나는 그것을 사용하지만, 그것이 어떻게 생겼는지에 대한 예를 든다. 올바른 데이터 형식으로 작업 한 Json 데이터를 올바른 방식으로 형식화했습니다. 나는 내가 사용했던 php 라인을 사용하여 곧 편집을 게시 할 것이다. 잘못된 PHP 코드 외에도 내 문제는 내가 틀린 테이블을 필터링하고 있었기 때문에 12 개월의 데이터를 줄 수있는 대신 특정한 시간 동안 데이터를 주었다. 내가 말했듯이, 나는 내 노트북에 도착하자마자 대답을 게시 할 것이다 :-) – nielskildsgaard

답변

0

귀하의 시리즈는 당신은 sintax이 series: j

+0

내가 한 것은 : $ arr = array(); while ($ row = sqlsrv_fetch_array ($ getProducts, SQLSRV_FETCH_ASSOC)) { \t $ name = $ row [ 'ResellerName']; $ data = array ($ row [ 'COGS']); $ arr [] = array ('name'=> $ name, 'data'=> $ data); } echo json_encode ($ arr, JSON_NUMERIC_CHECK); – nielskildsgaard

+0

ajax/js에서 데이터를 가져올 때 데이터가 어떻게 보이나요? 그것은 PHP에서 어떻게 표시되지 않습니다. –

+0

JSON은 어떻게 생겼습니까? – LouieV

관련 문제