PHP+MySQL实现对一段时间内每天数据统计优化操作实例

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP+MySQL实现对一段时间内每天数据统计优化操作实例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP+MysqL实现对一段时间内每天数据统计优化操作。分享给大家供大家参考,具体如下:

互联网项目中,对项目的数据分析必不可少。通常会统计某一段时间内每天数据总计变化趋势调整营销策略。下面来看以下案例。

案例

电商平台中通常会有订单表,记录所有订单信息。现在我们需要统计某个月份每天订单数及销售金额数据从而绘制出如下统计图,进行数据分析。

@H_512_13@

订单表数据结构如下:

Box-sizing: border-Box; text-align: center; widows: 2; text-transform: none; background-color: rgb(255,255,255); font-style: normal; text-indent: 0px; width: 700px; display: table; border-collapse: collapse; font-family: -apple-system,"SF UI Text",Arial,"Pingfang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif,SimHei,SimSun; whITe-space: normal; orphans: 2; margin-bottom: 24px; letter-spacing: normal; color: rgb(69,69,69); font-Size: 16px; font-weight: normal; word-spacing: 0px; font-VARiant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px"> Box-sizing: border-Box"> Box-sizing: border-Box; border-right-width: 0px; background-color: rgb(255,255); border-bottom-width: 0px; border-top: rgb(221,221,221) 1px solid; border-left-width: 0px; border-image: initial"> Box-sizing: border-Box; border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px"> Box-sizing: border-Box; border-right-width: 0px; background-color: rgb(255,221) 1px solid; border-left-width: 0px; border-image: initial"> Box-sizing: border-Box; border-right-width: 0px; background-color: rgb(247,247,247); border-bottom-width: 0px; border-top: rgb(221,221) 1px solid; padding-top: 8px">25397Box-sizing: border-Box; border-right-width: 0px; background-color: rgb(255,221) 1px solid; padding-top: 8px">25398

此时查询某月各天下单数,总金额应当如何做呢?

一般方法

首先最容易想到的方法,先利用 PHP 函数 cal_days_in_month() 获取当月天数,然后构造一个当月所有天的数组,然后在循环中查询每天的总数,构造新数组。

代码如下:

PHp;">
$month = '04';
$year = '2017';
$max_day = cal_days_in_month(CAL_GREGORIAN,$month,$year);   //当月最后一天
//构造每天的数组
$days_arr = array();
for($i=1;$i<=$max_day;$i++){ array_push($days_arr,$i);="" }="" $return="array();" 查询="" foreach="" ($days_arr="" as="" $val){="" $min="$year.'-'.$month.'-'.$val.'" 00:00:00';="" $max="$year.'-'.$month.'-'.$val.'" 23:59:59';="" $sql="select count(*) as total_num,sum(`total_price`) as amount from `orders` where `enterdate` >= {$min} and `enterdate` <= {$max}" ;="" $return[]="">MysqLi_query($sql);
}
return $return;
Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; text-align: left; border-left: rgb(221,221) 1px solid; padding-bottom: 8px; line-height: 22px; background-color: rgb(239,243,245); padding-left: 8px; padding-right: 8px; word-wrap: break-word; color: rgb(79,79,79); font-size: 14px; vertical-align: middle; word-break: normal; border-top: rgb(221,221) 1px solid; font-weight: 700; border-right: rgb(221,221) 1px solid; padding-top: 8px">order_id Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">order_sn Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">total_PRice Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">enterdate
Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-bottom: 8px; line-height: 22px; padding-left: 8px; padding-right: 8px; word-wrap: break-word; color: rgb(79,221) 1px solid; border-right: rgb(221,221) 1px solid; padding-top: 8px">25396Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">A4E610E250C2D378D7EC94179E14617FBox-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">2306.00Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">2017-04-01 17:23:26
Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">EAD217C0533455EECDDE39659abcDAE9Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">17.90Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">2017-04-01 22:15:18
Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">032E6941DAD44f29651B53C41F6B48A0Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">163.03Box-sizing: border-Box; border-bottom: rgb(221,221) 1px solid; padding-top: 8px">2017-04-02 07:24:36

脚本宝典总结

以上是脚本宝典为你收集整理的PHP+MySQL实现对一段时间内每天数据统计优化操作实例全部内容,希望文章能够帮你解决PHP+MySQL实现对一段时间内每天数据统计优化操作实例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。