我想要两个创建一个自动序列号作为参考号,我真正想要的是:
一旦生成序列号,它将不再重复,并根据SQL中最后生成的序列号选择下一个序列号,例如,如果我创建了序列号20190926,那么我不想再次生成此序列号,它将自动从20190927开始,因为它已经生成。一旦月份结束,序列号将再次从01开始,如201910001。我尝试了给定的代码,但没有成功
$id = date('Ym').str_pad($n + 1, 3, 0, STR_PAD_LEFT);它为我提供了当前年份和月份,但每次打开新表单时,它都以201909001开头,我必须再次编辑它
提前感谢
发布于 2019-09-26 16:38:14
要确定您是否在处理给定月份的第一个条目,您将需要在您的数据库表中查询MAX()序列号--让我们将该值称为php变量$max。
$Ym = date('Ym');
if (strpos($max, $Ym) === 0) {
++$max;
} else {
$max = $Ym . '001';
}然后在插入查询中使用新的$max。
...and当然,有一个非常真实的问题,那就是“竞争条件”造成的序列号冲突。
https://stackoverflow.com/questions/58111708
复制相似问题