新聞中心
Ecshop后臺(tái)的訂單數(shù)據(jù)統(tǒng)計(jì)不正確
作者 / 無憂主機(jī) 時(shí)間 2015-10-21 23:56:09
今天小編遇到一個(gè)問題,小編在統(tǒng)計(jì)一個(gè)客戶朋友php空間的ecshop商城的時(shí)候,發(fā)現(xiàn)統(tǒng)計(jì)記過盡然和實(shí)際的不一樣,通過對(duì)比才知道多了一天的量。那這個(gè)是怎么造成的呢。 通過分析代碼:order_status.php文件function get_orderinfo($start_date, $end_date)的定義,其中所有的sql都用了下面的代碼:
?function get_orderinfo($start_date, $end_date) ?{ ? ? $order_info = array(); ? ? /* 未確認(rèn)訂單數(shù) */ ? ? $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,除非這里用戶選擇的開始時(shí)間和結(jié)束時(shí)間是同一天,否則沒有必要加上86400(86400秒等于1天),這個(gè)錯(cuò)誤結(jié)果會(huì)導(dǎo)致最后的訂單統(tǒng)計(jì)數(shù)量已經(jīng)不是在指定時(shí)間段內(nèi)的數(shù)據(jù),而是指定的時(shí)間后再加上一天。 知道問題就好辦理,我們將上面的代碼修改下
" AND add_time < '" . ($end_date + 86400) . "'";修改為
" AND add_time < $end_date";將修改后的文件重新上傳到無憂主機(jī)空間,我們?cè)谠L問,測(cè)試下,發(fā)現(xiàn)問題完美解決了。 無憂主機(jī)相關(guān)文章推薦閱讀: ECSHOP程序如何給商品名稱設(shè)置特效讓顯示多種顏色? ECSHOP程序如何在后臺(tái)管理中心修改支付顯示順序的方法 ECSHOP報(bào)錯(cuò):STRICT STANDARDS: REDEFINING ALREADY DEFINED CONSTRUCTOR FOR CLASS
本文地址:http://m.love62.cn/ecshop/20424.html
![1](/wp-content/themes/starow_z/img/o-1.png)
![1](/wp-content/themes/starow_z/img/o-2.png)
![1](/wp-content/themes/starow_z/img/o-3.png)
![1](/wp-content/themes/starow_z/img/o-4.png)
![1](/wp-content/themes/starow_z/img/o-5.png)
![1](/wp-content/themes/starow_z/img/o-6.png)
![1](/wp-content/themes/starow_z/img/o-7.png)