php 怎么获取当前月份往前24个月中的每个月的订单总和?
phpcn_u251
phpcn_u251 2017-03-18 17:14:31
0
2
1144

2734004458-58cba02ac31e3_articlex.png

phpcn_u251
phpcn_u251

membalas semua(2)
数据分析师

php Bagaimana untuk mendapatkan jumlah kiraan pesanan untuk setiap bulan dalam 24 bulan sebelumnya dari bulan semasa? -PHP Laman web Cina Q&A-php Bagaimana untuk mendapatkan jumlah kiraan pesanan bagi setiap bulan dalam bulan semasa dan 24 bulan sebelumnya? -Soal Jawab laman web PHP Cina

Sila tonton dan pelajari.

阿神

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

$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);
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan