概述
ecshop是一个比较优秀的网上商城CMS系统,其程序比较小,但是电商所涉及到的功能一样不少。其一些程序核心还是值得借鉴学习的。
在做某一个小企业站的时候,客户需要新增订单功能,那么怎么解决重复订单问题,因对ecshop比较熟,就借鉴了ECSHOP的处理方式;
代码
$error_no = 0;
do
{
$order['order_sn'] = get_order_sn(); //获取新订单号
$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'), $order, 'INSERT');
$error_no = $GLOBALS['db']->errno();
if ($error_no > 0 && $error_no != 1062)
{
die($GLOBALS['db']->errorMsg());
}
}
while ($error_no == 1062);
其代码很好理解,首先对错误码进行清零。然后使用do while 进行提交(插入订单表);
正常情况下,至少提交一次。首先,使用订单号生成程序生成一个新的订单号,这个订单号是日期加随机生成,虽然重复的几率比较小,但是还是不得不防止重复的现象发生,所以有了这个处理机制;
接下来,把获取到的新订单号,赋予到订单数组 order_sn中,然后开始插入操作;
然后,判断插入操作是否出错。因order_sn加入了索引,并且为Unique类型,如果重复,则插入出错;
如果出错代码为除0和1062外的代码,则弹出出错消息;
如果出错代码为1062,则继续提交,直到提交成功。
最后
以上就是单身小虾米为你收集整理的ecshop怎样解决重复订单问题的全部内容,希望文章能够帮你解决ecshop怎样解决重复订单问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复