ecshop數據庫訂單狀態判斷
order_info 表
剛下完訂單
order_status 0
shipping_status 0
pay_status 0
取消
order_status 2
shipping_status 0
pay_status 0
確認
order_status 1
shipping_status 0
pay_status 0
已付款
order_status 1
shipping_status 0
pay_status 2
配貨中
order_status 1
shipping_status 3
pay_status 2
已發貨
order_status 5
shipping_status 1
pay_status 2
已收貨
order_status 5
shipping_status 2
pay_status 2
退貨
order_status 4
shipping_status 0
pay_status 0
/* 訂單狀態 */
define(‘OS_UNCONFIRMED’, 0); // 未確認
define(‘OS_CONFIRMED’, 1); // 已確認
define(‘OS_CANCELED’, 2); // 已取消
define(‘OS_INVALID’, 3); // 無效
define(‘OS_RETURNED’, 4); // 退貨
/* 支付類型 */
define(‘PAY_ORDER’, 0); // 訂單支付
define(‘PAY_SURPLUS’, 1); // 會員預付款
/* 配送狀態 */
define(‘SS_UNSHIPPED’, 0); // 未發貨
define(‘SS_SHIPPED’, 1); // 已發貨
define(‘SS_RECEIVED’, 2); // 已收貨
define(‘SS_PREPARING’, 3); // 備貨中
/* 支付狀態 */
define(‘PS_UNPAYED’, 0); // 未付款
define(‘PS_PAYING’, 1); // 付款中
define(‘PS_PAYED’, 2); // 已付款
$_LANG['os'][OS_UNCONFIRMED] = ‘未確認’;0
$_LANG['os'][OS_CONFIRMED] = ‘已確認’;1
$_LANG['os'][OS_CANCELED] = ‘ 取消‘;2
$_LANG['os'][OS_INVALID] = ‘無效‘;3
$_LANG['os'][OS_RETURNED] = ‘退貨‘;4
$_LANG['ss'][SS_UNSHIPPED] = ‘未發貨’;
$_LANG['ss'][SS_PREPARING] = ‘配貨中’;
$_LANG['ss'][SS_SHIPPED] = ‘已發貨’;
$_LANG['ss'][SS_RECEIVED] = ‘收貨確認’;
$_LANG['ps'][PS_UNPAYED] = ‘未付款’;
$_LANG['ps'][PS_PAYING] = ‘付款中’;
$_LANG['ps'][PS_PAYED] = ‘已付款’;
訂單的處理判斷
while ($row = $GLOBALS['db']->fetchRow($res))
{
//
if ($row['order_status'] == OS_UNCONFIRMED)
{
$row['handler'] = "<a href=/"user.php?act=cancel_order&order_id=" .$row['order_id']. "/" onclick=/"if (!confirm('".$GLOBALS['_LANG']['confirm_cancel']."')) return false;/">".$GLOBALS['_LANG']['cancel']."</a>";
}
else if ($row['order_status'] == OS_CONFIRMED)
{
/* 對配送狀態的處理 */
if ($row['shipping_status'] == SS_SHIPPED)
{
@$row['handler'] = "<a href=/"user.php?act=affirm_received&order_id=" .$row['order_id']. "/" onclick=/"if (!confirm('".$GLOBALS['_LANG']['confirm_received']."')) return false;/">".$GLOBALS['_LANG']['received']."</a>";
}
elseif ($row['shipping_status'] == SS_RECEIVED)
{
@$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['ss_received'] .'</span>';
}
else
{
if ($row['pay_status'] == PS_UNPAYED)
{
@$row['handler'] = "<a href=/"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['pay_money']. '</a>';
}
else
{
@$row['handler'] = "<a href=/"user.php?act=order_detail&order_id=" .$row['order_id']. '">' .$GLOBALS['_LANG']['view_order']. '</a>';
}
}
}
else
{
$row['handler'] = '<span style="color:red">'.$GLOBALS['_LANG']['os'][$row['order_status']] .'</span>';
}
新聞熱點
疑難解答