我的程序有错吗?
2016-07-07 15:07 来源:www.chinab4c.com 作者:ecshop专家
想在后台管理的订单列表里给订单增加一个过期判断. 方法:我在 ecs_order_info 表里增加了二个日期字段 start_date 及 end_date 用来保存起始日期及结束日期,然后在列表订单信息时,用结束日期(end_date)减今天得到日期差,当在0~5天内时,用红色显示日期字段及日期差. 然后,在后台管理的 lib_order.php 里修改了如下函数(见红色部分): function order_info($order_id, $order_sn = '') { /* 计算订单各种费用之和的语句 */ $total_fee = " (goods_amount - discount + tax + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee) AS total_fee "; /* 增加计算日期差的MySQL语句 */ $overed_days = " (to_days(end_date)-to_days(now())) AS over_days "; $order_id = intval($order_id); if ($order_id > 0) { $sql = "SELECT *, " . $total_fee . "," . $overed_days . "FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_id = '$order_id'"; } else { $sql = "SELECT *, " . $total_fee . "," . $overed_days . "FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_sn = '$order_sn'"; } $order = $GLOBALS['db']->getRow($sql); /* 格式化金额字段 */ ...略(无改动)... } return $order; } 当然,也在模板文件 order_list.htm 里增加了如下语句: {if ($order.over_days > 0) and ($order.over_days < 5)} <font color="red">{$order.start_date}至{$order.end_date} [过期{$order.over_days}天]</font> {else} {$order.start_date}至{$order.end_date} [过期{$order.over_days}天] {/if} 结果: 表里增加的日期字段可以读显出来,但是日期差(过期天数)却不能读显. 请教各位高手指导!谢谢!!! |
回答:
mysql的时间跟php的时间有可能出现不一致情况 |
哪怕出来个有差异的数据,也可以调整. 谢谢您的回答! |
最近更新
常用插件
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
ecshop热门问答
ecshop热门资料
ecshop批量下单插件
ecshop运费计算错误
ecshopFree
ecshop分类页
ecshop会员导出
ecshop经历
ecshopBigSale模板
ecshop今日特价
ecshopAPI
网店seo
ecshop零食
ecshop状态
ecshop价格区间
ecshop字符串
ecshopiteration
ecshop在线电话
ecshop跟随
ecshopexceeded
ecshop文章列表页
ecshop百度输入
ecshop联通
ecshop新手模板使用
ecshop卡马
开ecshop网店
ecshop虚心
ecshop针对性
ecshop名鞋街
ecshop超额
ecshop累加
ecshop会员服务