生成一个带有固定字母数字字符串和可变整数部分php的id


Generate an id with fixed alpha numeric string and variable integer part php

我正在尝试生成一个具有固定字母数字部分和可变3位数字部分的id。也就是说,id将看起来像:

LAB-SER-420316-1415-000
LAB-SER-420316-1415-001
...
LAB-SER-420316-1415-010
LAB-SER-420316-1415-020
...
LAB-SER-420316-1415-110
LAB-SER-420316-1415-210
.....

我的任务是只生成一次这个id,也就是说必须避免重复id。同样,一旦页面加载,它应该生成一个id。这就像给出一个账单号码或类似的东西。我创建了一个函数来生成这个字符串。但每次加载页面时,我都需要它来生成。

代码:

<?php
function generatebillno()
{
$saved="LAB-SER-420316-1415-";
for($count = 0; $count <= 999; $count++)
{
        $var= str_pad($count, 3, '0', STR_PAD_LEFT);
        return $saved.$var; 
}
}
echo generatebillno();
?>

有人能帮我做这件事吗。我被困在这里了。。

试试这个-

//fetch the max id (the last digit as number)
$sql = $mysqli->query('select max(cast(substring(demo_field, 21) as unsigned)) as digit, 
demo_field from demo');
$res = $sql->fetch_assoc();
//check for empty valyues
if (empty($res['demo_field'])) {
    $str = "LAB-SER-420316-1415";
    $res['digit'] = 0;
} else {
    $str = substr($res['demo_field'], 0, 19);
}
$dig = $res['digit'] + 1;
//add padding if needed
$dig= str_pad($dig, 3, '0', STR_PAD_LEFT);
$newStr = $str.'-'.$dig;
var_dump($newStr);