在循环查询期间将项添加到多维数组

时间:2010-08-25 16:20:23

标签: php multidimensional-array

我有一个查询返回如下所示的数据:

Status         Total
Success        234
Failed         20
Missing        12

我想将其添加到一个数组中,然后可以用它来填充谷歌饼图。

数组看起来像这样:

array backup = array("Success" => 234),
                    ("Failed" => 20),
                    ("Missing" => 12);

如何在查询的每一行动态添加这些项?

3 个答案:

答案 0 :(得分:2)

$result = mysql_query(...);
$backup = array();

while ($r = mysql_fetch_assoc($result)) {
    $backup[$r['Status']] = $r['Total'];
}

以下是如何进行Google Charts API调用:

$values = implode(',', array_values($backup));
$labels = implode('|', array_keys($backup));

$img = "http://chart.apis.google.com/chart?cht=p3&chd=t:{$values}&chl={$labels}&chs=250x100";
echo "<img src='{$img}' alt='Chart'>";

答案 1 :(得分:1)

假设这是您的查询:

SELECT status, total FROM table

然后你可以这样做:

$data = array();

while(($row = mysql_fetch_assoc($result))) {
    $data[$row['status']] = $row['total'];
}

如果这不是您的意思,请澄清您的问题和/或提供您已有的代码。

答案 2 :(得分:0)

我认为我们需要更多信息,但同时请看array_merge()

http://www.php.net/manual/en/function.array-merge.php