自动从php codeigniter中的varchar字段中增加最后四位数字的值

时间:2018-09-12 13:00:53

标签: php codeigniter

在我的数据库字段中,我有varchar这样的格式HPDO1209180000。我在做什么是如果我没有任何数据,我最后要加四位数字就可以了,如果有,我要每增加一位时间。但是问题是0001之后也只增加了所有0001,而不是0002。我正在这样做,请帮助我。谢谢前进。

Local

1 个答案:

答案 0 :(得分:1)

如果我没看错的话,它看起来像这样:

$inrno=str_pad((int)$grmNumber+1, 4, 0, STR_PAD_LEFT);

采用$ output-> grmno的int值。同样,如果我直接解释您的问题,可以将该字段评估为类似以下内容:

HPDO1209180001

这样的字符串的整数值为0。因此,为什么它们总是以0001结尾。

要解决此问题,您需要获取字符串的最后4个字符,并仅对其进行递增。例如:

$suffix = substr($grmNumber, -4);
$newsuffix = intval($suffix) + 1;
$irno = str_pad($newsuffix, 4, 0, STR_PAD_LEFT);

这将正确地抓住最后4位数字,在值上加上一个,然后再次用零填充以将其添加到新字符串中。