首页 > 编程知识 正文

php如何生成不重复订单号(php如何生成不重复订单号)

时间:2023-12-09 23:12:00 阅读:313987 作者:UQNP

本文目录一览:

php 如何生成订单号

订单号一般是根据用户ID,购买时间,商品ID生成的,

比如用户ID:123,购买时间:1353364885,商品ID:567,

则订单号可以是:123-1353364885-567

php怎么动态生成订单号

?php

$pre = date("Ymd");

//得到数据库中当前日期的最大订单号(这一步可以是通过查询数据库,或者通过缓存记录当前日期的最大订单号,如果不存在 则默认值就为 $maxOrder = str_pad($pre,12,0); )

$maxOrder = '取得的值';

$order = intval($maxOrder) + 1;

?

thinkphp订单号怎么生成

PHP 生成订单号,GUID 方法

生成订单号

function build_order_no() {  

  return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);

}

生成GUID

function guid() {  

  if (function_exists('com_create_guid')) {      

      return com_create_guid();  

  } else {  

      mt_srand((double)microtime()*10000);

      $charid = strtoupper(md5(uniqid(rand(), true)));

      $hyphen = chr(45);      

      $uuid   = chr(123)          

               .substr($charid, 0, 8).$hyphen            

               .substr($charid, 8, 4).$hyphen          

               .substr($charid,12, 4).$hyphen          

               .substr($charid,16, 4).$hyphen          

               .substr($charid,20,12)          

               .chr(125);

      return $uuid;  

  }

}

php如何生成不重复的流水号

拿txt/xml/sqlite/mysql 存 day number

然后获取的时候, 如果day不为今天, 则number重置, 再写入day为今天,否则number++

php 随机生成不重复用户ID

php可以使用uniqid函数生成唯一的ID

uniqid — 生成一个唯一ID

string uniqid([ string $prefix = ""[, bool $more_entropy = false]])

获取一个带前缀、基于当前时间微秒数的唯一ID。

参数说明:

prefix:有用的参数。例如:如果在多台主机上可能在同一微秒生成唯一ID。

prefix为空,则返回的字符串长度为13。more_entropy 为        TRUE,则返回的字符串长度为23。

more_entropy:如果设置为 TRUE,uniqid() 会在返回的字符串结尾增加额外的煽(使用combined linear congruential generator)。使得唯一ID更具唯一性。

返回值:

返回字符串形式的唯一ID。

php随机生成数据库中不存在、不重复数字

说下思路:

1. 将生成的数字保存到mysql数据库,然后每次生成的号码不能与数据库的数字重复,请问怎么弄?

先读取数据库已存在的数字,将结果以数组格式,与rand(1,1000)的数组相比较计算差集,去除这部分数字(array_diff),再shuffle,得到新的随机数。

我觉得,你完全可以建立一个序号表,比如,1-1000,每次用时先用随机函数取(1-数据记录数)个数值,再用这个数值取得相应的记录,当取出之后,删除这个记录,这样保证记录总数一直会减少且数字也不会重复。

2. 有没有什么办法生成的时候先生成一位数的,一位数生成满了以后再生出两位数的,两位数满了然后再三位数的,以此类推?

先获取一位数的记录,再从中随机抽取一个,如果数据库中没有找到一位数的,就递增一位数,直到找到为止。

3. 代码的执行效率希望能越高越好!

如果想要代码执行效率,最好尽量减少与数据库的交互。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。