本文目录一览:
- 1、php 如何生成订单号
- 2、php怎么动态生成订单号
- 3、thinkphp订单号怎么生成
- 4、php如何生成不重复的流水号
- 5、php 随机生成不重复用户ID
- 6、php随机生成数据库中不存在、不重复数字
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. 代码的执行效率希望能越高越好!
如果想要代码执行效率,最好尽量减少与数据库的交互。