php中利用str_pad函数生成数字递增形式的产品编号
解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT );
其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。
str_pad() 函数把字符串填充为指定的长度。
语法
str_pad(string,length,pad_string,pad_type)
参数
描述
string 必需。规定要填充的字符串。
length 必需。规定新字符串的长度。如果该值小于原始字符串的长度,则不进行任何操作。
pad_string 可选。规定供填充使用的字符串。默认是空白。
pad_type 可选。规定填充字符串的那边。可能的值:
STR_PAD_BOTH – 填充到字符串的两头。如果不是偶数,则右侧获得额外的填充。
STR_PAD_LEFT – 填充到字符串的左侧。
STR_PAD_RIGHT – 填充到字符串的右侧。这是默认的。
如下所示:
/*编号=年份后两位+月份+id四位数*/
$id = $this->student_model->save(0, $data);
$sn = date('Y', time());
$sn = substr($sn, -2);
$sn.= date('m', time());
$sn.=sprintf("%04d", $id);