以其他格式输出查询数据,以便图表识别

时间:2015-05-22 05:47:14

标签: php mysql highcharts

我有一个数据库,脚本从网站中提取销售信息。

column id name    date            quantity
        1 test 2015-05-14 07:10:07       1

所有这些数据都按日期SELECT DATE("Date"), SUM(quantity) FROM downloads GROUP BY DATE("Date")添加到图表数据中 但由于我每天都没有销售/下载,所以我需要在下载/销售额之外添加日期

while($row = $result->fetch_assoc()){
        echo $row["SUM(quantity)"] . ", ";
}

1,2,5,6,1,7输出到图表

这样我需要输出数据才能被图表识别

[Date.UTC(Year,  Month, Day), SUM ],


        [Date.UTC(1970,  9, 27), 1 ],
        [Date.UTC(1970, 10, 10), 2 ],
        [Date.UTC(1970, 10, 18), 5 ],
        [Date.UTC(1970, 11,  2), 6 ],

这就是我的权利

while($row = $result->fetch_assoc()){
        foreach($row as $value){
        echo str_replace("-",", ",$value ." ");
        }
        echo "<br>";
}

但它会像这样输出

2015, 05, 13 2
2015, 05, 14 10
2015, 05, 15 3
2015, 05, 16 8
2015, 05, 17 1 

我可以获得一些帮助,以正确的格式输出日期,以便被图表识别吗?

2 个答案:

答案 0 :(得分:2)

你可以这样做......

while($row = $result->fetch_assoc()){
   $quantity =  $row["SUM(quantity)"];     
   $datee =  date("Y, m, d", strtotime($row["date"]));
   $ans = "[Date.UTC(" . $datee . ")," .  $quantity . " ]";
   echo $ans . ", <br>";
}

答案 1 :(得分:0)

尝试更改您的查询以提取日期元素 - YearMonthDay -

SELECT YEAR(date) as `year`, MONTH(date) as `month`, DAY(date) as `day`, SUM(quantity) as `sum` FROM downloads GROUP BY DATE(date)

然后你的循环将是 -

while($row = $result->fetch_assoc()){
    echo "[Date.UTC(".$row['year'].", ".$row['month'].", ."$row['day']."), ".$row['sum']" ],";
}