我的数据库有一个名为 tbltest 的表。在此处,列 id 设置为自动增量,另一列命名为 app_id 。
我想要的是我想在有人访问My Form页面时生成app_id,名为 apply.php 并在那里提交申请表。是否可以在表中获取最后插入的id并获取为该id生成的相应app_id,并在提交表单页面时生成新的app_id。
现在因为最后插入的id是1而app_id是IVISA250531,所以,当我们提交表单时,它应该生成Next app_id,应该是,
IVISA250532
答案 0 :(得分:2)
你可以做:
$sql = "SELECT * FROM tbltest ORDER BY id DESC LIMIT 1;";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result) ;
$str = $row["app_id"];//"IVISA250532";
$int = preg_replace('/[^0-9]/', '',$str);//to get the Int from string '250532'
$pure_str = str_replace($int, "", $str);// tog get only the string word 'IVISA'
$Next_app_id = $pure_str.($int+1); // << that is what you need "IVISA250533"
}
答案 1 :(得分:1)
<?php
class operation{
public function contains($id, $app_id){
$match ="IVISA";
preg_match_all('/^([^\d]+)(\d+)/', $app_id, $match);
$text = $match[1][0];
$num = $match[2][0];
$newid = $num+$id;
return $text.$newid;
}
}
$str = new operation;
$app_id = $str->contains(10, "IVISA1005050421321");
echo $app_id;
?>