2014-09-28 20 views
0

我绝对坚持使用这段代码,我搜索并搜索了它,使其工作并失败了。试图为NVD3创建JSON代码图表

我的JSON输出目前看起来像这样

[ 
    { 
     "key": "OWM1", 
     "values": [ 
      [ 
       "x : EW", 
       "y :4" 
      ], 
      [ 
       "x : RSE", 
       "y :3" 
      ], 
      [ 
       "x : SWE", 
       "y :2" 
      ], 
      [ 
       "x : WTE", 
       "y :1" 
      ], 
      [ 
       "x : WWE", 
       "y :1" 
      ] 
     ] 
    }, 
    { 
     "key": "OWM2", 
     "values": [ 
      [ 
       "x : EW", 
       "y :4" 
      ], 
      [ 
       "x : RSE", 
       "y :2" 
      ], 
      [ 
       "x : SWE", 
       "y :1" 
      ], 
      [ 
       "x : WTE", 
       "y :3" 
      ], 
      [ 
       "x : WWE", 
       "y :2" 
      ] 
     ] 
    } 
] 

但我需要它看起来像这样NVD3图表着想,能够正确地处理它。

[ 
    { 
    "key": "OWM1", 

    "values": 
     [  
     { x : "EW", y : 4 }, 
     { x : "RSE", y : 3 }, 
     { x : "SWE", y : 2 } 
     { x : "WTE", y : 1 } 
     { x : "WWE", y : 21 } 
     ] 
    }, 
    { 
    key: "OWM2", 

    values: 
     [  
     { x : "EW", y : 4 }, 
     { x : "RSE", y : 2 }, 
     { x : "SWE", y : 1 } 
     { x : "WTE", y : 3 } 
     { x : "WWE", y : 2 } 
     ] 
    }] 

这是我的PHP代码,我正在生产json的第一个输出。

$result = mysqli_query($con,"SELECT CODE, _POS, COUNT(CODE) AS COUNT from defects WHERE FPOS IN ('OWM1','OWM2') GROUP BY POS, CODE"); 


if($result) { 
    $jsonData = convert($result); 
} 

function convert($result) { 

    $intermediate = array(); 

    while($rows = mysqli_fetch_assoc($result)) { 
     $key = $rows['POS']; 
     $x = $rows['CODE']; 
     $y = $rows['']; 
     $intermediate[$key][] = array('x : ' .$x,'y :' . $y); 
    } 


    $output = array(); 

    foreach($intermediate as $key => $values) { 
     $output[] = array(
      "key" => $key, 
      'values' => $values 
     ); 
    } 

    echo json_encode($output); 

} 





mysqli_close($con); 

是否有任何人可以帮助我操纵代码我有看起来像第二套JSON代码与NVD3图表兼容的任何方式吗?

非常感谢。

回答

1

它看起来像你在这里创建非关联数组...

$intermediate[$key][] = array('x : ' .$x,'y :' . $y); 

替换与...

$intermediate[$key][] = array('x' => $x, 'y' => $y); 
+0

你绝对精灵!完美的工作,一直在努力工作了4个小时!真的很欣赏它的男人 – Engl12 2014-09-28 15:09:07