php - 每月自动重置的引用编号

标签 php mysql

我正在生成引用号 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/

相关文章:

php - 为 Drupal 7 分类术语 (page--taxonomy-term.php) 创建模板剥离 CSS 页面?

c# - EF 在自动迁移期间保留现有数据

mysql - 如何按 group by 和 计算行数并将其添加到子查询中?

php - Yii:按日期计算聚合

php - 如何在 AJAX 实时聊天中实现聊天审核?

将变量从 ajax post 传递到 javascript 函数时,PHP、javascript、IE 的单引号问题

php - 尝试显示随机选择的 id 中的 mySQL 数据

php - 是否有用于 PHP 的 'best' Google 图表 API?

php - 当数据库中找不到值时如何中断循环

Java SQL 更新查询不工作