香港独立IP空间
香港php空间
美国php空间
域名注册

今天小编遇到一个问题,小编在统计一个客户朋友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

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

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档