- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章yii框架结合charjs实现统计30天数据的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了yii框架结合charjs实现统计30天数据的方法。分享给大家供大家参考,具体如下:
理论上30天数据应该都有,但实际上却不一定是,所以需要补全 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
public
static
function
getDayOrderCharData(
$days
= 30) {
$nowDay
=
date
(
'Y-m-d'
,
strtotime
(
'-1day'
));
// 当前前一天
$lastDay
=
date
(
"Y-m-d"
,
strtotime
(
'-'
.
$days
.
'day'
));
// days天前
$daysFormat
= [];
// 获取到days段的日期
for
(
$i
=
$days
;
$i
> 0;
$i
--) {
$daysFormat
[] =
date
(
"Y-m-d"
,
strtotime
(
'-'
.
$i
.
'day'
));
}
// 所有用户
$allOrderData
= self::find()
->select([
'FROM_UNIXTIME(create_at,"%Y-%m-%d") as char_time'
,
'COUNT(id) as total_order'
,
'SUM(order_amount) as total_order_amount'
,
'SUM(pay_amount) as total_order_pay_amount'
])
->where([
'>='
,
'FROM_UNIXTIME(create_at,"%Y-%m-%d")'
,
$lastDay
])
->andWhere([
'<='
,
'FROM_UNIXTIME(create_at,"%Y-%m-%d")'
,
$nowDay
])
->groupBy(
'char_time'
)
->all();
$dayCountTitle
= Yii::t(
'backend'
,
'day_order_count_title'
, [
'last_day'
=>
$lastDay
,
'now_day'
=>
$nowDay
]);
$dayAmountTitle
= Yii::t(
'backend'
,
'day_order_amount_title'
, [
'last_day'
=>
$lastDay
,
'now_day'
=>
$nowDay
]);
$labels
=
$daysFormat
;
// 所有用户
$orderCounts
= [];
// 订单数量
$orderAmounts
= [];
// 订单金额
$orderPayAmounts
= [];
// 支付金额
$allOrderDataArr
= [];
foreach
(
$allOrderData
as
$allKey
=>
$allVal
) {
$allOrderDataArr
[
$allVal
->char_time][
'char_time'
] =
$allVal
->char_time;
$allOrderDataArr
[
$allVal
->char_time][
'total_order'
] =
$allVal
->total_order;
$allOrderDataArr
[
$allVal
->char_time][
'total_order_amount'
] =
$allVal
->total_order_amount;
$allOrderDataArr
[
$allVal
->char_time][
'total_order_pay_amount'
] =
$allVal
->total_order_pay_amount;
}
foreach
(
$daysFormat
as
$key
=>
$val
) {
if
(
array_key_exists
(
$val
,
$allOrderDataArr
)) {
$orderCounts
[] =
$allOrderDataArr
[
$val
][
'total_order'
];
$orderAmounts
[] =
$allOrderDataArr
[
$val
][
'total_order_amount'
];
$orderPayAmounts
[] =
$allOrderDataArr
[
$val
][
'total_order_pay_amount'
];
}
else
{
$orderCounts
[] =
'0'
;
$orderAmounts
[] =
'0'
;
$orderPayAmounts
[] =
'0'
;
}
}
$data
= [
'dayCountTitle'
=>
$dayCountTitle
,
'dayAmountTitle'
=>
$dayAmountTitle
,
'orderCountLabel'
=> Yii::t(
'backend'
,
'day_order_count_label'
, [
'days'
=>
$days
]),
'orderAmountLabel'
=> Yii::t(
'backend'
,
'day_order_amount_label'
, [
'days'
=>
$days
]),
'orderPayAmountLabel'
=> Yii::t(
'backend'
,
'day_order_pay_amount_label'
, [
'days'
=>
$days
]),
'nowDay'
=>
$nowDay
,
'lastDay'
=>
$lastDay
,
'labels'
=>
$labels
,
'orderCounts'
=>
$orderCounts
,
'orderAmounts'
=>
$orderAmounts
,
'orderPayAmounts'
=>
$orderPayAmounts
];
return
$data
;
}
|
js 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
// 按天获取订单数量
var
dayOrderCountChartCanvas = $(
'#dayOrderCountChart'
).get(0).getContext(
'2d'
)
var
dayOrderCountChartData = {
labels : <?= json_encode($dayOrderChar[
'labels'
],
true
) ?>,
datasets: [
{
label :
'<?= $dayOrderChar['
orderCountLabel
'] ?>'
,
backgroundColor :
'rgba(0, 192, 293, 0.5)'
,
data : <?= json_encode($dayOrderChar[
'orderCounts'
],
true
) ?>
}
]
}
var
dayOrderCountChartOptions = {
scales: {
xAxes: [{
gridLines: {
display:
false
}
}],
yAxes: [{
gridLines: {
display:
false
}
}]
}
}
var
dayOrderCountChart =
new
Chart(dayOrderCountChartCanvas, {
type:
'line'
,
data: dayOrderCountChartData,
options: dayOrderCountChartOptions
});
// 按天获取订单及金额
var
dayOrderAmounCanvas = $(
'#dayOrderAmountChart'
).get(0).getContext(
'2d'
)
var
dayOrderAmounData = {
labels : <?= json_encode($dayOrderChar[
'labels'
],
true
) ?>,
datasets: [
{
label :
'<?= $dayOrderChar['
orderAmountLabel
'] ?>'
,
backgroundColor :
'rgba(0, 192, 293, 0.5)'
,
data : <?= json_encode($dayOrderChar[
'orderAmounts'
],
true
) ?>
},
{
label :
'<?= $dayOrderChar['
orderPayAmountLabel
'] ?>'
,
backgroundColor :
'rgba(0, 166, 90, 0.5)'
,
data : <?= json_encode($dayOrderChar[
'orderPayAmounts'
],
true
) ?>
}
]
}
var
dayOrderAmounOptions = {
scales: {
xAxes: [{
gridLines: {
display:
false
}
}],
yAxes: [{
gridLines: {
display:
false
}
}]
}
}
var
dayOrderAmountChart =
new
Chart(dayOrderAmounCanvas, {
type:
'line'
,
data: dayOrderAmounData,
options: dayOrderAmounOptions
});
|
记住,yii的as一定要在模型利定义公用变量 。
1
2
3
4
5
6
|
public
$char_time
;
// 按时间统计
public
$total_order
;
// 所有订单
public
$total_order_amount
;
// 所有订单总额
public
$total_pay_order
;
// 支付订单
public
$total_pay_amount
;
// 支付订单总额
public
$total_order_pay_amount
;
// 支付总额
|
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助.
原文链接:https://blog.csdn.net/tang05709/article/details/102885033 。
最后此篇关于yii框架结合charjs实现统计30天数据的方法的文章就讲到这里了,如果你想了解更多关于yii框架结合charjs实现统计30天数据的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我目前正在学习数据挖掘,有以下问题。 机器学习和数据挖掘之间有什么关系? 我发现许多数据挖掘技术都与统计相关,而我“听说”数据挖掘与机器学习有很多关系。所以我的问题是:机器学习与统计学密切相关吗? 如
我有很多表的数据,例如: event_id player finish 1 a 1 1 b 2 1 c
我对 http_status_module 提供的统计数据感兴趣 特别是上游部分的统计数据。 http://nginx.org/en/docs/http/ngx_http_status_module.
除了 Cluster MBean 之外,是否有任何可以在 Akka (Java) 中启用的内置 JMX 公开监控/统计信息?我看过 Typesafe Console,但由于它需要许可证才能用于从多个节
我正在尝试在我的程序中使用“usage”统计信息来获取类似于 time 的数据工具。但是,我很确定我做错了什么。这些值似乎是正确的,但有时可能有点奇怪。我没有在网上找到好的资源。有人知道如何做得更好吗
我有一个带有统计表的 MySQL 数据库。我想以年历、月度的形式输出数据。对于没有点击率的几个月,我想花费一个“空”DIV。有两个ID。 $query = mysqli_query($db,"SELE
设置: 问题是经典概率问题的复杂形式: 70 colored balls are placed in an urn, 10 for each of the seven rainbow colors.
有哪些 Ruby gem 可以执行数据处理? 最佳答案 我知道有 3 种从 Ruby 访问 R 的方法: RinRuby RSRuby 通过 Rserve-Ruby-Client 预约 RinRuby
背景 图像领域内的一个国内会议快要召开了,要发各种邀请邮件,之后要录入、统计邮件回复(参会还是不参会等)。如此重要的任务,老师就托付给我了。ps: 统计回复邮件的时候,能知道谁参会或谁不参会。
我正在添加用户输入的几个数字并将它们添加到数组列表中。 到目前为止我的代码: package project143; import java.util.*; /** * @author -- */
正如标题所示,我需要做的是在各种 iO/Android/Windows 应用程序中跟踪各种用户事件 - 例如点击、滑动、在页面上花费的时间等。 这些应用程序基于响应式 HTML/CSS/JS,并具有简
我希望计算 HTML 表中每个唯一值的实例数,并在其自己的表中返回结果。该表是根据用户的文本输入生成的。例如,用户输入可能如下所示: Report 46 Bob Marley 4/20/2
如何使用 PHP 计算数字数组的 z 分数?我需要计算 z 分数,然后找到百分位数 (CDF)!我可以使用哪些 PHP 函数?谢谢! 最佳答案 以下代码将给出 CDF 的良好近似值(Abramowit
我只是想知道是否可以计算 GitHub 上空存储库的总数。 如果不适合所有用户,可以为自己做吗? 编辑 我已经尝试过size:0搜索,但似乎返回了很多包含数据的存储库。采用 size:0..1 之类的
public class Scanner { private HtmlProcessor hp; private String baseUrl; private int ste
我正在使用 Mule ESB 3.4。我想开发一个自定义 Java 组件来计算流收到的请求数量。流程将例如像这样: http inbound-endpoint -> counter -> vm-out
我喜欢借助 GitHub API 来统计存储库中所有开放的拉取请求和问题。我发现 API 端点 /repos/:owner/:repo 结果包含 open_issues 属性。然而,这是问题和拉取请求
如何使用 PHP 计算数字数组的 z 分数?我需要计算 z 分数,然后找到百分位数 (CDF)!我可以使用哪些 PHP 函数?谢谢! 最佳答案 以下代码将给出 CDF 的良好近似值(Abramowit
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我正在尝试以编程方式获取搜索字词列表的 Google 新闻搜索结果计数(即有多少个结果),但仅限于过去 1 年。使用用户界面搜索时,结果计数仅出现在常规搜索中,但在“工具 > 最近 > 过去一年”下时
我是一名优秀的程序员,十分优秀!