我有这样的案例:
JS100829 0001
JS100829 0002
JS=code
10=year
08=month
29=date
0001=the sequence of today first entry
0002=the sequence of today second entry我需要生成这段代码。有人能帮我吗?谢谢。
发布于 2010-08-29 20:16:28
例如,您有一个用于这些预订条目的数据库,这是我最好的猜测:
//sequences
$datenow = date("Y-m-d H:i:s");
//i suppose u has load mysql db somewhere before this code
$q = mysql_query("SELECT COUNT(*) FROM yourtablename WHERE bookingdate = '$datenow'");
//how many squences today
$sequencedtoday = mysql_result($q, 0, 0);
//generate code:
$code = 'JS';
$ymd = date('ymd');
$squence = $squencedtoday+1;
$squence = str_pad($squence,4,0,STR_PAD_LEFT);
//return
echo $code.$ymd.' '.$squence;
//return: JS100829 0001发布于 2010-08-29 19:50:28
不知道“顺序计数器”是在哪里维护的,这是我最好的尝试(有意的冗长):
$code = 'JS';
$date = date('ymd');
$seq = 1;
$id = sprintf('%s%s %04d', $code, $date, $seq);发布于 2010-08-29 19:51:18
将$sequence的值保存在数据库或配置文件中。每次生成ID时保持递增。包含列的数据库表:
然后,像这样做:
$sequence = mysql_fetch_array(mysql_query("select LatestID from seqtable where Date = CURDATE()"));
$sequence = $sequence + 1;
$code = "JS";
$mycode = $code . date("ymd") . str_pad($sequence, 4, '0', STR_PAD_LEFT);
mysql_query("insert into seqtable set LatestID = $sequence, Date = CURDATE ON DUPLICATE KEY UPDATE LatestID = $sequence");https://stackoverflow.com/questions/3594574
复制相似问题