【发布时间】:2014-07-07 10:52:35
【问题描述】:
我正在使用这个 php 代码来生成代码
<?php
$year = date('y'); //gets 2 digits of year, ex, year 2014 as 14
$month = date('m');//gets 2 digits of month, ex, month July as 07
$day = date('d');//gets 2 digits of date, ex, date 07
$random = substr( md5(rand()), 0, 4); //generate 4 digits random number using 0-9 and a-z
$code = $year . $month . $day . $random;
echo $code;
?>
接下来我尝试在此代码中添加一个从 00001 到 99999 的 5 位数字
表示代码应该看起来像 YYMMDDXXXXNNNNN,虽然我已经实现了 YYMMDDXXXX,但我仍在努力处理 NNNNN 部分 (00000-99999)。
如何在每个用户生成条目时制作并连接到这个变量 $code。
我想在这里提一下,这是表格的代码,当第一个用户在任何日期填写表格时,给他的 NNNNN 将是 00001,对于第二个用户 00002,第三个用户 00003 等等,无论特定月份中的任何日期。
另外,当月份从当前更改为下一个时,我希望再次将 NNNNN 重置为 00001。
我怎样才能实现这两件事。
有什么想法吗?
这里是sn-p http://codepad.org/cgPLEtr7
【问题讨论】:
-
需要存储之前分配的NNNNN值。然后检索它,如果同一个月添加一个。问题是在您检索它和将更新的值分配给记录之间,值可能会发生变化。
-
@Kickstart 这将是第二部分。首先,如何生成这个?
-
您需要将计数器和月份保存在服务器或数据库中。每月更改一次重置计数器。
-
@SubirKumarSao 你能说明如何实现吗?
-
生成一个随机数很容易(
SUBSTR("00000".RAND(0,99999), -4)),但是这个数字可能已经分配好了