【问题标题】:how to generate reference number like RFC-0001 RFC-0002 RFC-0010 RFC-0101 using php and sql [duplicate]如何使用 php 和 sql 生成参考号,如 RFC-0001 RFC-0002 RFC-0010 RFC-0101 [重复]
【发布时间】:2021-06-07 00:53:41
【问题描述】:

我在数据库中有一个表,其中包含作为主键并自动递增的 ID,并且 RFC RFC 应该像 RFC-0001 然后 RFC-0002 一样自动递增,但出于某种原因我在 HTML/PHP 部分我做错了什么,我不知道如何解决它的任何想法? 这是我的数据库表

这是我的 php html 代码

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "change";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

?>
<?php
$try="select * from test order by id desc limit1";
$result= mysqli_query($conn,$try);
$row=mysqli_fetch_array($result);
$lastid= $row['rfc'];
if ($lastid == " ")
{
 $empid ="RFC-0001";
}
else
{
 $empid = substr($lastid, 4);
 $empid= intval($empid);
 $empid= "RFC-".($empid +1);
}
?>
<html>
<body>
<form method="post" action="">
<input type="text" name="ID" value="<?php echo $empid; ?>"readonly>
</br>
<input type="text" name="name">
</br>
<input type="button" name="done" value="done">
</form>

</body>
</html>


【问题讨论】:

  • 它打印 RFC-1 RFC-2 RFC-3 而不是 RFC-0001 RFC-0002,我找不到原因
  • 因为您要转换为整数,$empid= intval($empid); - 并且整数没有前导零。在将值加 1 后,您需要再次用零填充。
  • 我不知道该怎么做你能帮我解决这个问题@CBroe

标签: php html mysql


【解决方案1】:

替换

$empid= "RFC-".($empid +1);

$empid= "RFC-".sprintf('%04d', ($empid +1));

sprintf() 允许用零填充数字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 2015-04-01
    • 2011-10-25
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2021-06-13
    相关资源
    最近更新 更多