繁体   English   中英

从JQPlot的MySQL数组格式化PHP中的JSON

[英]Formatting JSON in PHP from MySQL array for JQPlot

我已经查看了有关传递JSON数据以提供JQPlot的其他主题,但似乎无法找到我需要的东西。 问题是我无法正确格式化JSON数据。 (是的,这是我第一次使用格式化和使用JSON)我尝试了各种组合,但我仍然在寻找合适的组合。

JQPlot希望将数据视为

[[x,y],[x,y],[x,y],[x,y]]

但我能输出的最好的是

[x,y][x,y][x,y][x,y]

我希望有人可以告诉我我错过了什么。 我的代码如下......

$sql = "SELECT client_id, SUM(gross) FROM s_pr_wcomp GROUP BY client_id ORDER By SUM(gross) DESC LIMIT 10";
$result = mysqli_query($mysql,$sql) or die(mysqli_error('Top 10 Query Failed!'));

// Encode Top 10

while($row = mysqli_fetch_array($result)){ 
$grossTop = array(
    $grossTop[] = $row['client_id'],
    $grossTop[] = '$'.number_format($row['SUM(gross)'], 2)
);

header('ContentType: application/json; charset=utf-8');
echo json_encode($grossTop);
}

谢谢!

您需要将数组附加到$grossTop数组。 在你的while循环里面有类似的东西:

while($row = mysqli_fetch_array($result)){ 
    $grossTop[] = array(
        $row['client_id'],
        '$'.number_format($row['SUM(gross)'], 2)
    );
}
header('ContentType: application/json; charset=utf-8');
echo json_encode($grossTop);

快速浏览一下,将$ grossTop的每次迭代包装在另一个数组中。

while($row = mysqli_fetch_array($result)){ 
$grossTop = array(array(
    $grossTop[] = $row['client_id'],
    $grossTop[] = '$'.number_format($row['SUM(gross)'], 2))
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM