国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 噶尔县| 黎川县| 行唐县| 鄢陵县| 盘锦市| 蓬莱市| 舞阳县| 永福县| 斗六市| 陵水| 太和县| 锡林郭勒盟| 义马市| 莱阳市| 晋江市| 蒙阴县| 龙山县| 新丰县| 依安县| 安国市| 中山市| 石柱| 大竹县| 芦山县| 云龙县| 微博| 慈溪市| 岳阳县| 海南省| 广平县| 鸡西市| 乌什县| 辽阳县| 天津市| 仁布县| 石门县| 普格县| 神池县| 嘉禾县| 楚雄市| 都匀市|