国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

修正Ecshop后臺訂單統計數據不準確

2024-04-25 20:43:29
字體:
來源:轉載
供稿:網友

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天),這個錯誤結果會導致最后的訂單統計數量已經不是在指定時間段內的數據,而是指定的時間后再加上一天。

將無用的已確認訂單統計代碼改成已支付的統計代碼:

/* 已確認訂單數 */

$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 zuimoban.com 已支付訂單數 */

$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);

以上就是本文章的內容,希望對大家有所幫助

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林左旗| 龙游县| 墨竹工卡县| 湘阴县| 潍坊市| 安仁县| 元江| 汉寿县| 乡宁县| 美姑县| 竹溪县| 峨山| 鹤山市| 济南市| 新巴尔虎右旗| 通河县| 本溪| 隆安县| 辽阳市| 衡水市| 中西区| 雅安市| 胶州市| 会理县| 龙胜| 韩城市| 故城县| 平邑县| 吴忠市| 鹤岗市| 游戏| 福清市| 临桂县| 富阳市| 扶沟县| 七台河市| 洞头县| 休宁县| 荔浦县| 盐源县| 剑阁县|