ホームページ >バックエンド開発 >PHPチュートリアル >电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?
电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?
电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?
我注意到题主提到:
从1开始这样太不好看了
这是万万不可的!电商平台的订单绝对不能给别人看出规律,更不能按顺序增加。因为对手可能通过订单号的规律就能知道你的日销量这些商业信息,这是非常危险的。
我的方案是:
时间+随机数
建议结合实际情况,充分利用时间,随机数,商家ID,会员ID,自增ID这些来组合,根据自身运营特点来制定。
我一般用时间加随机数
当前时间,可以加一串后缀
不仅不好看,别人看你订单号就知道你们网站有多少订单
时间戳加上随机几位数字就可以了
可以网上找一个,时间戳加随机数生成的订单号还是有可能相同的,要杜绝这个
你在建订单表的时候可以指定AUTO_INCREMENT
为你想取得一个数,比如10000000
,不知道符不符合楼主的意思。
有的是用年月日
+订单序号
补零,比如2015120600001
订单号基本的原则就是不能重复。
我们公司的后台也有订单号,和前面说的差不多,时间精确到毫秒,然后加一个随机数,基本不会重复的。这是一个订单号,2015120320550551513
给你参考下。^_^
关于生成电商订单号,我觉得需要考虑:
订单时间
订单类型
唯一性
不暴露信息
长度适中
可参考开源电商框架生成订单号的源码。
简单讲一楼所说,时间戳+随机。
其实,用uuid是一劳永逸的。
http://pecl.php.net/ --->search --->uuid
连时间戳都没有,猜去吧。
用时间或者商品类型做出有规则的订单号,这样方便后台管理,前台显示时hash一下,生成散列等长的字串就可以了