根据id值,自动生成编号、编码等

sadwind2022-06-13笔记428

某项目在新增数据时,需要一个编码如:XXXX0001 格式。设想每次添加时,根据id的最大值加1,然后拼接成此形式的字符。

当时这方法不是太好,只是一个思路,因为如果多人同时添加,会造成该字段重复。

一,获取id最大值,以id 倒序排序最一条记录,即得到当前表最大id值,然后给它+1:

$formData = $this->modelClass->order('id', 'desc')->find();
$maxid = $formData['id'] +1;

二,拼接"XXXX"+maxid成XXXX0001,要用到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 - //填充字符串的右侧。默认。
//拼接这样写:
$code = 'XXXX'.str_pad($maxid ,4,"0",STR_PAD_LEFT);
//如id的最大值为1,则$code 值:XXXX0002


relate content

使用字符串匹配 屏蔽一下搜索关键词

总是有些不怀好意的人,使用一些SQL注入词来尝试搜索,真想对这些人说一句,去你妈的。网站会记录搜索词,我不想记录这些数据,同时也想单独对这些人做一个提示页面,就将一些常用SQL注入字符做个数组,然后跳...

VUE学习:五.UI 框架

前言如果你想快速开发一款应用,并且不想过多的操心页面 UI 的内容,比如你不想去实现一个下拉 UI 组件或设计一个 icon 图标,那么我们可以使用现有的别人做...

【编程达人】火哥Windows内核课程(上+下)

【编程达人】火哥Windows内核课程(上+下)

描述:本套课程来自编程达人:课程官方售价上下(5499+5499)元,由编程达人一线老师主讲,主要讲解windows的保护模式,系统调试,异常发现及处理等等。本课程包含内核上下两部分,内核课程上11节...

Why is the strong conversion of this byte ineffective? Shouldn't the result be 1

using System; using System.IO; namespace HelloWorldApplication {   publ...

LayUI在弹出层中刷新父页面的表格数据

 parent.layui.table.reload(      '父页面表格ID',   &nbs...

ICMS 标签 调节器

模板标签调节器允许在任何以 $ 开头的标签中使用调节器对得到的值进行处理,形式为:modifiers调节器可带参数 参数可以是模板自带调节器,也可以是PHP的函数<!--{$...

Post Reply    

◎Welcome to participate in the discussion.