新闻中心

Ecshop后台的订单数据统计不正确

作者 / 无忧主机 时间 2015-10-21 23:56:09

今天小编遇到一个问题,小编在统计一个客户朋友php空间ecshop商城的时候,发现统计记过尽然和实际的不一样,通过对比才知道多了一天的量。那这个是怎么造成的呢。 通过分析代码:order_status.php文件function get_orderinfo($start_date, $end_date)的定义,其中所有的sql都用了下面的代码:

 function get_orderinfo($start_date, $end_date)
 {
    $order_info = array();
    /* 未确认订单数 */
    $sql = 'SELECT COUNT(*) AS unconfirmed_num FROM ' .$GLOBALS['ecs']->table('order_info').
           " WHERE order_status = '" .OS_UNCONFIRMED. "' AND add_time >= '$start_date'".
           " AND add_time < '" . ($end_date + 86400) . "'";
在代码中$end_date+86400,除非这里用户选择的开始时间和结束时间是同一天,否则没有必要加上86400(86400秒等于1天),这个错误结果会导致最后的订单统计数量已经不是在指定时间段内的数据,而是指定的时间后再加上一天。 知道问题就好办理,我们将上面的代码修改下
" AND add_time < '" . ($end_date + 86400) . "'";
修改为
" AND add_time < $end_date";
将修改后的文件重新上传到无忧主机空间,我们在访问,测试下,发现问题完美解决了。 无忧主机相关文章推荐阅读: ECSHOP程序如何给商品名称设置特效让显示多种颜色? ECSHOP程序如何在后台管理中心修改支付显示顺序的方法 ECSHOP报错:STRICT STANDARDS: REDEFINING ALREADY DEFINED CONSTRUCTOR FOR CLASS

本文地址:https://www.51php.com/ecshop/20424.html

1
1
1
1
1
1
1