> 백엔드 개발 > PHP 튜토리얼 > 电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

WBOY
풀어 주다: 2016-06-06 20:22:17
원래의
2177명이 탐색했습니다.

电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

回复内容:

电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

我注意到题主提到:

从1开始这样太不好看了

这是万万不可的!电商平台的订单绝对不能给别人看出规律,更不能按顺序增加。因为对手可能通过订单号的规律就能知道你的日销量这些商业信息,这是非常危险的。


我的方案是:

时间+随机数

建议结合实际情况,充分利用时间,随机数,商家ID,会员ID,自增ID这些来组合,根据自身运营特点来制定。

我一般用时间加随机数

当前时间,可以加一串后缀

不仅不好看,别人看你订单号就知道你们网站有多少订单

时间戳加上随机几位数字就可以了

可以网上找一个,时间戳加随机数生成的订单号还是有可能相同的,要杜绝这个

你在建订单表的时候可以指定AUTO_INCREMENT为你想取得一个数,比如10000000,不知道符不符合楼主的意思。

有的是用年月日+订单序号补零,比如2015120600001

订单号基本的原则就是不能重复。
我们公司的后台也有订单号,和前面说的差不多,时间精确到毫秒,然后加一个随机数,基本不会重复的。这是一个订单号,2015120320550551513给你参考下。^_^

关于生成电商订单号,我觉得需要考虑:

  1. 订单时间

  2. 订单类型

  3. 唯一性

  4. 不暴露信息

  5. 长度适中

可参考开源电商框架生成订单号的源码。

简单讲一楼所说,时间戳+随机。

其实,用uuid是一劳永逸的。
http://pecl.php.net/ --->search --->uuid
连时间戳都没有,猜去吧。

用时间或者商品类型做出有规则的订单号,这样方便后台管理,前台显示时hash一下,生成散列等长的字串就可以了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿