【发布时间】:2019-10-12 13:37:30
【问题描述】:
我有一个用 chart.js 创建的图表
我每天从数据库中获取总数,有些日子没有这样的收入:
id | seller | date | quantity | price | total
1 3636 2019-10-09 10:00 4 1,2 4,8
2 3045 2019-10-09 15:51 2 0,6 1,2
3 3636 2019-10-06 11:05 8 1,0 8,0
4 3636 2019-10-04 14:03 5 0,9 4,5
5 3636 2019-10-01 14:57 3 0,4 1,2
如您所见,10 月 9 日有 2 次销售,10 月 6 日有 1 次销售,10 月 4 日有 5 次销售,10 月 1 日有 1 次销售。
我为此创建了一个代码,但效果不佳:
//$kazanc_v is sales dates array which is come from the controller
for($i=1;$i<31;$i++)
{
$arr2[]=date('Y').'-'.date('m').'-'.$i;
}
for($k=0;$k<30;$k++){
if(in_array($arr2[$k],$kazanc_v[0])){
echo $kazanc_v->sub_total;
} else {
echo '0,';
}
}
当我将数据放入数据集时,图表如下所示:
因为看不到图片:wrong chart
我无法在图表数据中写入“0”,因为表格中没有数据。 当日期没有销售时我想写 0 并且图表应该是我想要的这样
看不到 img :[october reports]3
如何创建真实报告?
【问题讨论】:
-
可能有更优雅的方式,但这在过去对我有用。首先生成一个数组,其中包含要查看的日期的键(和默认的
0值)。然后您可以遍历该数组以使用数据库中的现有数据填充它。这样,所有日期都有一个条目和一个值,因此在 chart.js 中输出它变得微不足道。 -
我添加代码,我从控制器获取数据以查看但它不是在非销售日期写入'0',因为没有数据
-
你能发布实际生成的 JS(并且正在创建图表)吗? 真的很难仅通过显示它不起作用的图像来提供更多帮助。
-
js文件来自原chart.js网站link我对js文件没有问题。我的问题出在我的代码上。我不能在javascript的数据集上写'0' for($i=1;$isub_total; } 其他 { 回声 '0,'; } }
标签: php codeigniter chart.js