2016-06-16 8 views
1

私のローカルディレクトリの.jsonファイルにdbクエリ(SQLサーバ)を出力するためのコードです。JSONデータを使用したMorrisチャート

$connectionInfo = array(""); 
    $conn = sqlsrv_connect($serverName, $connectionInfo); 
    if($conn) 
     { 
     }else 
     { echo "Connection could not be established.\n"; 
       die(print_r(sqlsrv_errors(), true)); 
     } 

    $sql=""; 
    $query = sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET)); 

    if($query === false) { 
     echo "Error in executing query.</br>"; 
      die(print_r(sqlsrv_errors(), true)); 
    } 

    $json = array(); 

    do { 
     while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) { 
      $json[] = $row; 
     } 
    } while (sqlsrv_next_result($query)); 

     file_put_contents('data.json', json_encode($json)); 

この部分は正常に動作し、この形式のjsonデータを出力しています。他のページで

[{"month":1,"a":43,"b":10},{"month":2,"a":43,"b":87},{"month":3,"a":52,"b":11},{"month":4,"a":66,"b":25},{"month":5,"a":30,"b":11},{"month":6,"a":29,"b":10},{"month":7,"a":32,"b":41},{"month":8,"a":27,"b":36},{"month":9,"a":36,"b":32},{"month":10,"a":57,"b":57},{"month":11,"a":32,"b":20},{"month":12,"a":53,"b":65}] 

私はこのような、JSONデータとこのモリス・エリア・チャートを初期化しています:

まず私は、配列をJSONファイルやループを読んでいます。

$final = json_decode(file_get_contents('data.json')); 
    $new_final = array(); 

    foreach($final as $value) { 
     foreach($value as $sub_value) { 
      $new_final[] = $sub_value; 
     } 
    } 

     echo json_encode($new_final); 
     exit; 
    } 

(document.url)を使用して、同じページ上のAjaxを使用したモリス・チャートを初期化する第二イム:

$(document).ready(function(){ 

    $.ajax({ 
     url: document.URL, 
     dataType: 'JSON', 
     type: 'POST', 
     data: {get_values: true}, 
     success: function(response) { 

     Morris.Area({ 
       element: 'area-chart', 
       data: response, 
       xkey: 'month', 
       ykeys: ['a','b'], 
       labels: ['Month', 'Total'] 
      }); 
     } 
    }); 

}); 

それはチャートを出力していません。私はこのように、あなたは.JSONファイルを操作し、余分な「[]」、それが正しく動作して出力しているを追加する際に予想されるようにすることを見出しました:

[[{"month":1,"a":43,"b":10},{"month":2,"a":43,"b":87},{"month":3,"a":52,"b":11},{"month":4,"a":66,"b":25},{"month":5,"a":30,"b":11},{"month":6,"a":29,"b":10},{"month":7,"a":32,"b":41},{"month":8,"a":27,"b":36},{"month":9,"a":36,"b":32},{"month":10,"a":57,"b":57},{"month":11,"a":32,"b":20},{"month":12,"a":53,"b":65}]] 

誰かが私がここに監督てる何を教えてもらえ?私は2番目の配列が必要ですが、私は確信していないようです。事前に感謝します。

答えて

0

私は

$final = json_decode(file_get_contents('data.json')); 
    $new_final = array(); 

    foreach($final as $value) { 
     foreach($value as $sub_value) { 
      $new_final[] = $sub_value; 
     } 
    } 

     echo json_encode($new_final); 
     exit; 
    } 

$final = json_decode(file_get_contents('../php/data.json')); 
    $new_final = array($final); 

    foreach($final as $value) { 

    } 
     echo json_encode($final); 
     exit; 
    } 
でなければならず、それを考え出しました
関連する問題