Javascript 将MySQL数组转换为json数组

Javascript 将MySQL数组转换为json数组,javascript,php,mysql,arrays,json,Javascript,Php,Mysql,Arrays,Json,我试图制作一个饼图来显示操作系统的数据,并使用下面的SQL查询计算每个客户机的操作系统 选择操作系统,按操作系统从客户端组中计数(*) 然后,我使用以下PHP将它们放入一个数组中 $query->execute(); $count = array(); while($row = $query->fetch()){ $currOS = $row['os']; $count[$currOS] = $row['count']; } return json_encode($count);

我试图制作一个饼图来显示操作系统的数据,并使用下面的SQL查询计算每个客户机的操作系统

选择操作系统,按操作系统从客户端组中计数(*)

然后,我使用以下PHP将它们放入一个数组中

$query->execute();
$count = array();
while($row = $query->fetch()){
 $currOS = $row['os'];
 $count[$currOS] = $row['count'];
}
return json_encode($count);
当json_编码时,将输出以下内容:

{"AAA":"1","Windows 7 x86":"12"}
但是,饼图javascript插件需要以下标记

var data = [
 { label: "AAA", data: 50},
 { label: "Windews 7", data: 7},
 { label: "Windews XP", data: 8},
 { label: "Windows 8", data: 9}
]; 
对我来说,正确的PHP语法是什么?

你能试试这个吗

    while($row = $query->fetch()){
        $currOS = $row['os'];
        $count[]['label'] = $currOS;
        $count[]['data'] = $row['count'];
    }

使用标签和数据作为关联

然后使用mysql\u fetch\u assoc

$data=array();
while($row=$query->fetch_assoc()){
 $data[]=$row;
}
return json_encode($data);

注意:AAA只是一个随机的操作系统名称显示piechart的代码或检查piechart API如果您错误地构建了它,您应该构建一个字典数组,将标签和数据作为键并对其添加值。这将返回
{“label”:“Windows 7 x86”,“data”:“12”}
。AAA操作系统似乎已经消失了。我想你的意思是
$count[]['label]
而不是
$count['label'][]
。我是新来的,所以我想知道如何给出好的答案,但你的意思是解释错误的地方,以及如何调整代码以得到问题所有者想要的答案?你的答案没有错。创建
outputData
数组并向其中赋值时。这就是OP代码的区别或修正。所以,如果你解释这些事情,你也会更好地理解别人。
$data=array();
while($row=$query->fetch_assoc()){
 $data[]=$row;
}
return json_encode($data);
$outputData = array();

while($row = $query->fetch())
{
    $outputData[] = array(
        'label' => $row['os'],
        'data' => $row['count'],
    );
}

return json_encode($outputData);