2

我已经查看了有关传递 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);
}

谢谢!

4

2 回答 2

4

您需要将数组附加到$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);
于 2012-11-08T15:08:54.573 回答
0

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

while($row = mysqli_fetch_array($result)){ 
$grossTop = array(array(
    $grossTop[] = $row['client_id'],
    $grossTop[] = '$'.number_format($row['SUM(gross)'], 2))
);
于 2012-11-08T15:05:23.850 回答