【发布时间】:2014-09-28 11:00:56
【问题描述】:
我完全被这段代码卡住了,我已经搜索并搜索了它以使其工作并且失败了。
我的 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 }
]
}]
这是我生成 json 的第一个输出的 PHP 代码。
$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);
有没有人可以帮助我处理我必须看起来与第二组与 NVD3 图表兼容的 JSON 代码一模一样的代码?
非常感谢。
【问题讨论】:
标签: php mysql json d3.js nvd3.js