如何将mysql查询数据打印成php多维数组?

时间:2015-09-06 14:37:57

标签: php mysql arrays multidimensional-array

我有以下格式的php数组:

$data = array(
  array(
 'label' => 'Sale',
 'color' => '#28d8b2',
 'data'  =>
    array(
       array('Jan', 27),
       array('Feb', 82),
       array('Mar', 56),
       array('Apr', 14),
       array('May', 28),
       array('Jun', 77),
       array('Jul', 23),
       array('Aug', 49),
       array('Sep', 81),
       array('Oct', 20),
       array('Nov', 23),
       array('Dec', 99)
    )
  )
);

我想把我从mysql表中查询的数据放到上面的子数组中,如下所示:

array(
       array('Jan', 27),
       array('Feb', 82),
       array('Mar', 56),
       array('Apr', 14),
       array('May', 28),
       array('Jun', 77),
       array('Jul', 23),
       array('Aug', 49),
       array('Sep', 81),
       array('Oct', 20),
       array('Nov', 23),
       array('Dec', 99)
    )

我尝试使用以下代码将那些从mysql数据库查询的数据放入,但仍然不是我想要的:

$get_date = dbQuery("SELECT MONTH(STR_TO_DATE(ors.order_date, '%Y-%m-%d')) AS month, SUM(ord.total_price) AS total FROM orders ors INNER JOIN order_detail ord ON (ors.order_id = ord.order_id) WHERE YEAR(STR_TO_DATE(ors.order_date, '%Y-%m-%d')) = '$year' GROUP BY month");
$count = $get_date->rowCount();
$index = 1;
$ar = array();
while($row = $get_date->fetch(PDO::FETCH_ASSOC))
    {
    $ar[$index] = $row;
    $index++;
}
print_r($ar);

所以我的问题是我想把我的数据放到现有的php数组中,如上所述,即使mysql数据库中没有任何月份,脚本仍然需要将该月作为0。

例如,如果数据库中不存在任何月份,则将数据放入数组

array(
       array('Jan', 27),
       array('Feb', 0),
       array('Mar', 56),
       array('Apr', 14),
       array('May', 0),
       array('Jun', 77),
       array('Jul', 0),
       array('Aug', 0),
       array('Sep', 81),
       array('Oct', 0),
       array('Nov', 23),
       array('Dec', 0)
    )

1 个答案:

答案 0 :(得分:0)

array_push($data[0]['data'], [$month_name, $month_value]);

Perhabs这将起作用。没有测试过。