登录  /  注册
php 怎么获取当前月份往前24个月中的每个月的订单总和?
phpcn_u251
phpcn_u251 2017-03-18 17:14:31
[PHP讨论组]

2734004458-58cba02ac31e3_articlex.png

phpcn_u251
phpcn_u251

全部回复(2)
阿神

直接上代码咯,看着代码和注释能清晰一点。

$orders = array(); // 储存每个月的订单$current_year  = (int) date('Y-m', time()); // 当前年份$current_month = (int) date('Y-m', time()); // 当前月份for ($i = 1; $i < 25; $i++) { // 循环24次
    
    // 获取本月最后一天24点的时间戳(为什么这样获取呢?看示例,例如:1月31日24点 = 2月1日0点)
    $timestamp_end = strtotime($current_year . $current_month); // 注意current_year和month都是上次循环的
    // 本次循环要获取订单数的月份
    $current_month = $current_month - $i; 
    if ($current_month === 0) { // 月份减一等于零,证明是要从1月跳到上一年的12月
        $current_month = 12; // 本次要获取订单数的月份
        $current_year  = $current_year - 1; // 本次要获取订单数的年份
    }    // 获取本月第一天0点的时间戳
    $timestamp_start = strtotime($current_year . $current_month); // 获取这个月刚开始时的时间戳
    // 根据时间戳获取订单(传入的时间戳区间就是这个月的)
    $sql = "SELECT * FROM orders WHERE create_time >= $start_timestamp AND create_time <= $end_timestamp";    // 后面查这段sql就可以获取当月订单了,(假设这个query()是执行sql的方法)
    $orders[$current_year][$current_month] = query($sql);
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号