最新公告
  • 欢迎加入中国站长资源网团队,精品资源持续增加!立即加入我们
  • 修正Ecshop后台订单统计数据不准确BUG

    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天),这个错误结果会导致后的订单统计数量已经不是在指定时间段内的数据,而是指定的时间后再加上一天。
    Ecshop自己本身订单确认功,导致的默认订单统计页面,只显示未确认,已确认,已成交,无效这四个信息。这四个信息都不包括最最重要的已付款的订单数的信息
    只要将无用的已确认订单统计代码改成已支付的统计代码:

    /* 已确认订单数 */
    $sql = 'SELECT COUNT(*) AS confirmed_num FROM ' .$GLOBALS['ecs']->table('order_info').
    " WHERE order_status = '" .OS_CONFIRMED. "' AND shipping_status NOT ". db_create_in(array(SS_SHIPPED, SS_RECEIVED)) . " AND pay_status NOT" . db_create_in(array(PS_PAYED, PS_PAYING)) ." AND add_time >= '$start_date'".
    " AND add_time < '" . ($end_date + 86400) . "'";
    $order_info['confirmed_num'] = $GLOBALS['db']->getOne($sql);

    改成:

    /* by tiandi 已支付订单数 */
    $sql = 'SELECT COUNT(*) AS confirmed_num FROM ' .$GLOBALS['ecs']->table('order_info').
    " WHERE pay_status =" . PS_PAYED ." AND shipping_status NOT" . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) ." AND add_time >= '$start_date'".
    " AND add_time < $end_date";
    $order_info['confirmed_num'] = $GLOBALS['db']->getOne($sql);

    即可修复ecshop统计不准备问题。

    如果遇到资源下载失效,请复制当前文章链接类型客服处理!
    中国站长资源网 » 修正Ecshop后台订单统计数据不准确BUG

    常见问题FAQ

    【点击查看】免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    【点击查看】提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    【点击查看】开通终身至尊下载源码 “不完整” 或 “不能用” 怎么办?
    非常抱歉,你有权利告诉本站,但是本站有选择处理或者不处理的权力,如无法接受请不要开通本站会员。
    【点击查看】开通终身会员能下载全站资源码?
    可以100%下载全站源码资源的,除部分失效资源,失效的可以联系客服尝试恢复。

    发表评论