- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:
我正在创建一个服务预订网站。每个订单都需要有一个唯一的订单号。我选择了 16 位数字,因为这是以前的软件使用的。
问题
我不确定将数据放入订单号是否有任何好处,或者它是否应该只是一个纯随机字符串。
如果它只是一个随机字符串,那么它的唯一目的就是充当 ID。如果是这样,那为什么不使用增量 ID?除了混淆我们为最终用户生成的订单数量之外,我想不出一个好的理由。
如果将数据放入字符串是个好主意,我应该包括什么样的数据?可能是订单日期,但其他我不知道。
我目前正在生成一个像这样的纯随机 16 位字符串。
public function generateOrderNumber()
{
$time = time(); // Time (CET) to hash
$token = md5($time); // Hash stored in variable
return str_shuffle(substr($token, 0, 16)); // Hash shortened to 5 chars and randomised
}
但是我不确定这是否足以用于生产。
最佳答案
如果您需要全局唯一性,比如跨多个数据库定期同步,那么我会使用标准的 128 位 GUID,它可以压缩成 16 个 8 位字节以保持向后兼容性。 PHP 有 com_create_guid
来生成 GUID。
关于php - 如何使用 PHP 生成正确的订单号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39598692/
我正在实现我的第一个支付网关,虽然我的情况可能很简单,因为我可以使所有三个相同,但我想知道一些应该不同的情况。 再说一次,订单号、交易编号和发票编号有什么区别?以及任何其他形式的交易相关信息? 它们都
我目前正在使用 $order = new WC_Order($order_id); (使用网络表单)用于获取与该订单 ID 相关的客户详细信息。我只想能够使用客户的帐单电子邮件或帐单电话从数据库中获取
我有以下查询: SELECT o.ClientId, o.MAX(Date), o.OrderNumber FROM dbo.tblOrders GROUP BY o.ClientId, o.Orde
我公司有一款集成了应用内结算功能的 Android 应用。当客户购买订单时,应用程序会收到订单 ID。之后,应用将此数据发送到服务器,服务器通过 Notification History API 检查
我正在处理重力表,我需要从 Woocommerce 获取订单号。当用户成功下单时,订单号应传递给表单,以便用户可以管理该订单的更多内容。我正在使用这些插件:1. 电子商务2.重力形式3. Gravit
基本要求是以以下格式创建订单号: (M)M-SSS 其中 MM 代表当前月份,SSSS 代表当月的订单顺序。例如,1-002 代表一月份提交的第二个订单。 使用 TRIGGER 我希望自动递增和插入透
我遇到一个问题,我需要将 Amazon.com 的订单号存储到 MySQL 表中。 Amazon.com 订单号由数字和连字符组成,例如 102-1234567-1234567(17 个数字和 2 个
我是一名优秀的程序员,十分优秀!