Ecshop后台的订单数据统计不正确
今天小编遇到一个问题,小编在统计一个客户朋友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.gaosudu.com/ecshop/20424.html