пытается создать код JSON для графиков NVD3

Я абсолютно застрял с этим фрагментом кода, я искал и искал, чтобы он заработал, и с треском провалился.

Мой вывод 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?

Большое спасибо.

0

Решение

Похоже, вы создаете неассоциативный массив здесь …

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

Заменить это на …

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector