我所拥有的
所以我有一个表,有3列(它实际上有很多,但举例来说)让我们说 id
, name
以及 email
. 我有一个用户进入的网页 name
以及 email
在php中使用mysqli,它被保存到mysql数据库中, id
由php使用自动增量生成,所以它类似于1,2,3。。。等等。
我想要什么
我不希望id只是一个整数,我希望它是字母和数字的组合, eg.- B201
. 我想定义在哪种情况下使用哪个字母的规则,我可能还想自己定义数字的一部分,它的一部分将自动递增。
假设用户输入的邮件是gmail邮件,那么我希望第一个字符是g,如果是yahoo,则是y等等。 eg.- G201,Y201
.
现在我想用第一个和第二个数字来表示月份,如果是nov,那么id应该是 G111
.
最后一个数字应该为每个新条目自动递增。
我在google上找了一些有用的东西,但是找不到任何好的东西(也许我的google技术很糟糕)。
我被困的地方
在php中决定前三个字符非常简单,我可以检查用户发布的电子邮件字符串并决定第一个字母,对于下一个数字,我可以检查当前日期时间并按当前月份决定。
真正的问题是最后一部分,它是自动递增的,我不知道怎么做。php脚本在插入新行时如何知道上次插入的值是多少,这样就可以在这次的自动增量值中添加+1。
所以如果有人能帮我用php生成一个类似的字符串,这样我就可以把它保存在数据库中,我会非常感激的。
1条答案
按热度按时间emeijp431#
好吧,您可以使用mysqli last insert id,而不是自己生成整数:
就这样。
请注意,字符串可以作为数组进行操作,例如:
要得到第一个字母:g,可以使用如下数组表示法: