【发布时间】:2020-09-24 00:34:38
【问题描述】:
所以我一直在关注这个教程:https://www.plus2net.com/php_tutorial/chart-line-database.php
我正在尝试向我的网站添加折线图以显示每个月的销售额。
这是我的 SQL 表的示例:
| ID | user | sale_id | date |
| 1 | RVN4372 | 1341234 | 2020-09-22 17:31:32 |
| 2 | OVI6517 | 5452351 | 2020-09-22 15:14:43 |
| 3 | RVN4372 | 8452176 | 2020-09-17 16:23:54 |
| 4 | FOK8905 | 7421312 | 2020-09-17 11:23:11 |
| 5 | DIF9127 | 4236123 | 2020-09-15 15:32:26 |
这是我当前查询的样子:
<?php
if($stmt = $link->query("SELECT user,COUNT(*) FROM sales WHERE yearweek(DATE(date), 1) = yearweek(curdate(), 1) GROUP BY user order by COUNT(*) DESC")){
$php_data_array = Array(); // create PHP array
while ($row = $stmt->fetch_row()) {
$php_data_array[] = $row; // Adding to array
}
}else{
echo $link->error;
}
//print_r( $php_data_array);
// You can display the json_encode output here.
echo json_encode($php_data_array);
// Transfor PHP array to JavaScript two dimensional array
echo "<script>
var my_2d = ".json_encode($php_data_array)."
</script>";
?>
<div id="curve_chart"></div>
这是我网站上的样子:
所以这基本上是对用户进行分组,并计算每个用户的销售额。 X轴是显示用户名,Y轴是销售总数。
我想改变这一点,所以在 X asix 中显示月份,而 Y asix 显示销售总数。我怎样才能做到这一点?
编辑:哈瓦一直在尝试一些,但无法使其发挥作用。这是我到目前为止所得到的:
if($stmt = $link->query("
SELECT YEAR(date)
as SalesYear,
MONTH(date) as SalesMonth,
COUNT(*) AS TotalSales
FROM sales
GROUP BY YEAR(date), MONTH(date)
ORDER BY YEAR(date), MONTH(date)
AND COUNT(*) DESC
")){
【问题讨论】:
-
有人可以帮帮我吗?