我正在生成引用号 REF-082013-001 (REF-mmyyyy-001) 并递增每个条目的最后一部分。第一条记录为 REF-082013-001,第二条记录为 REF-082013-002,依此类推。
我的问题是如何通过 php 重置每个新月份的最后一个数字。假设 2013 年 9 月,我希望它是 REF-09-2013-001 并自动递增它直到 9 月底,然后在 11 月再次重置它。
有没有办法在 php.ini 中做到这一点?非常感谢您的帮助。谢谢
更新
目前'REF-'.date('m-Y').$maxnumberfromdb位于名为reference_no的单列中,现在考虑存储mm-yyyy ref1和分别在 ref2 中的最后一个数字,并在每个月的第一天开始 ref2。
最佳答案
您可能可以使用单个表,其中包含一个 AUTO_INCRMENT 字段来处理引用号的最后部分,以及一个日期/时间字段来跟踪上次重置的时间。
CREATE TABLE track_reference
ref_number INT(11) AUTO_INCREMENT,
last_reset DATETIME;
然后用 PHP 编写一个函数来获取新的引用号,其中(伪代码):
if (MONTH(time()) > MONTH(last_reset)) {
reset ref_number to 0 (use ALTER TABLE);
}
select (ref_number) into $variable;
return 'REF_<month><year>_$variable;
}
这很粗糙,但你明白了。我还会在 MONTH 之前显示 YEAR,以便以后更容易按引用编号排序。
关于php - 每月自动重置的引用编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18299887/