我有以下格式的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)
)
答案 0 :(得分:0)
array_push($data[0]['data'], [$month_name, $month_value]);
Perhabs这将起作用。没有测试过。