关于Ecshop订单号生成规则

2016-07-07 15:12 来源:www.chinab4c.com 作者:ecshop专家

负责订单编号生成规则的函数是 /includes/lib_order.php 文件中的 get_order_sn() 函数。

原来的程序代码为:
return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
原来的订单号形式为:年月日 + 5位随机数字,例如:2010101718830

如果您想改变订单号的生成规则,就可以对上述代码做出修改。
例如,我想让订单号变为 “SD” + 年月日 + 7位随机数字,那么可以这样修改


return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
修改为
return 'SD'.date('Ymd') . str_pad(mt_rand(1, 9999999), 7, '0', STR_PAD_LEFT);

上面只是举一个例子,当然你还可以修改成更有个性的订单编号。

回答:
顶一下你。我刚找 你就发出来了

非常感谢

感谢分享,很有用!

谢谢楼主无私贡献

2.72测试不成功啊!

2.72不支持吗?

如何修改成后5位按00001顺序自增




后5位是要按每天还是每月从00001开始?还是怎么样

然后从数据库中查询当前到哪个数字了,再生成一个递增的

设置了,编辑订单为无效出错
MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => SELECT * FROM `lvbags`.`sipig_order_info` WHERE order_sn = LV2012051408408 AND order_status IN ('0','1') AND shipping_status IN ('0','3') AND pay_status = '0' ) [2] => Array ( [error] => Unknown column 'LV2012051408408' in 'where clause' ) [3] => Array ( [errno] => 1054 ) )




字段名称你给弄错了

错不哦错不

现在的订单号是按下单时间生成的,请问如何修改成按照付款时间生成?谢谢LZ

180以下小朋友路过。。。