gpt4 book ai didi

php - 每月 echo 分数,即使该月没有数据

转载 作者:行者123 更新时间:2023-11-29 09:32:03 25 4
gpt4 key购买 nike

所以,我被一个非常基本的问题难住了。我有一个包含 monthscore 列的表格,我需要在 JS 中填充它们以显示图表。

$sql = "SELECT `med_month`, `med_score` FROM `charts_data_table`";


med_month, med_score
1, 11.1
2, 22,2
3, 33
4, 44,4
5, 55.5
6, 66
7, 77
8, 88
9, 99
10, 101

现在的问题是,我现在有 10 个月的数据(缺少 11 月和 12 月),这些数据不属于查询结果的一部分。

我怎样才能回显我存档的记录的每个月分数,同时忽略 future 的月份。将它们设置为0.00

首选输出:

labels : ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],
data: [11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 0.00, 0.00]

编辑

我的查询似乎存在很多困惑和错误的焦点,而不是我在这里实际询问的内容。我想知道,如何在上面的首选输出格式回显上面的PHP表格数据。

查询很好,不需要修改,它只是以下步骤:

  • 将月份数字转换为 MMM 格式(例如 PHP 中的 date_format())

  • $val.', ' 格式输出月份/分数

我需要帮助,因为 JS 需要我提供 12 个值,但我目前只有 10 个。

最佳答案

您需要一份月份 list 一种简单的方法是使用 UNION 在查询中添加缺少的月份

$sql = "SELECT `med_month`, `med_score` 
FROM `charts_data_table`
UNION
select 11, 0
union
select 12,0";

或者创建并使用一个在连接中包含 12 个值的月份表

$sql = "SELECT `med_month`, ifnull(c.`med_score` , 0)
MONTH_TABLE m
LEFT JOIN `charts_data_table` c on m.nonth = c.med_month";

另一种简单的方法是基于 0 的预填充假设您有一个月份的数组

$month = ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月",“十二月”];

for ($x = 0; $x<12; $++) {
$chart_month[$x] = $month[$x];
$chart_score = 0;
}

...
while($row = mysqli_fetch_array($result)){
$chart_month = $row['med_month'];
$chart_score = $row['med_score'];
... .

}

关于php - 每月 echo 分数,即使该月没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58497352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com