如何使用php生成发票号
我需要从具有自动增量ID的表生成发票号。这是我尝试过的代码,但在加载表单时,发票号显示错误。 错误 警告:遇到非数字值 当订单完成后加载的表单需要以E-0000002的增量增加1时,我需要一个结果E-0000001如何使用php生成发票号,php,phpmyadmin,Php,Phpmyadmin,我需要从具有自动增量ID的表生成发票号。这是我尝试过的代码,但在加载表单时,发票号显示错误。 错误 警告:遇到非数字值 当订单完成后加载的表单需要以E-0000002的增量增加1时,我需要一个结果E-0000001 <?php $query = "SELECT id, CONCAT( 'E-', LPAD(id,7,'0') ) FROM employee"; $result = mysqli_query($conn,$query); $row = mysqli_fetch_arr
<?php
$query = "SELECT id, CONCAT( 'E-', LPAD(id,7,'0') ) FROM employee";
$result = mysqli_query($conn,$query);
$row = mysqli_fetch_array($result);
$lastid = $row['id'];
$number = "F-". $lastid;
if($lastid == " ")
{
$number = "E-0000001";
}
else
{
$number = "E-" . ($number + 1);
}
?>
<?php
if($_SERVER["REQUEST_METHOD"]== "POST")
{
$id = $_POST['id'];
$ename = $_POST['ename'];
$sal = $_POST['sal'];
if(!$conn)
{
die("connection failed " . mysqli_connect_error());
}
else
{
$sql = "insert into employee(id,ename,salary)VALUES('$id','$ename','$sal') ";
if(mysqli_query($conn,$sql))
{
echo "Record ADDEDDDDDDD";
}
else
{
echo "Record Faileddd";
}
}
}
?>
<html>
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>
<body>
<div class="row">
<div class="col-sm-4">
<form action="<?php echo($_SERVER["PHP_SELF"]); ?>" method="post">
<div align="left">
<h3>Auto No in Php</h3>
</div>
<div align="left">
<label>Employee No</label>
<input type="text" class="form-control" name="id" id="id" style="color: blue" value="<?php echo $number; ?>" readonly >
</div>
<div align="left">
<label>Employee Name</label>
<input type="text" class="form-control" name="ename" id="ename" >
</div>
<div align="left">
<label>Employee Salary</label>
<input type="text" class="form-control" name="sal" id="sal" >
</div>
</br>
<div align="left">
<input type="submit" value="ADD" class="btn btn-success">
</div>
</form>
</div>
</div>
这样做。这将给出增量为1的id
<?php
$conn = new mysqli("localhost","root","","employee_db");
// Check connection
if ($conn -> connect_errno) {
echo "Failed to connect to MySQL: " . $conn -> connect_error;
exit();
}
$query = "SELECT id FROM employee ORDER BY id DESC";
$result = mysqli_query($conn,$query);
$row = mysqli_fetch_array($result);
$lastid = $row['id'];
if(empty($lastid))
{
$number = "E-0000001";
}
else
{
$idd = str_replace("E-", "", $lastid);
$id = str_pad($idd + 1, 7, 0, STR_PAD_LEFT);
$number = 'E-'.$id;
}
?>
<?php
if($_SERVER["REQUEST_METHOD"]== "POST")
{
$id = $_POST['id'];
$ename = $_POST['ename'];
$sal = $_POST['sal'];
if(!$conn)
{
die("connection failed " . mysqli_connect_error());
}
else
{
$sql = "insert into employee(id,ename,salary)VALUES('".$id."','".$ename."','".$sal."') ";
if(mysqli_query($conn,$sql))
{
echo "Record ADDEDDDDDDD";
$query = "SELECT id FROM employee ORDER BY id DESC";
$result = mysqli_query($conn,$query);
$row = mysqli_fetch_array($result);
$lastid = $row['id'];
if(empty($lastid))
{
$number = "E-0000001";
}
else
{
$idd = str_replace("E-", "", $lastid);
$id = str_pad($idd + 1, 7, 0, STR_PAD_LEFT);
$number = 'E-'.$id;
}
}
else
{
echo "Record Faileddd";
}
}
}
?>
在PHP7中
如果您执行像'1b'+'something'这样的操作
然后您将得到警告
和通知
。那么如何获得PHP 7.1.12版本的起始版本的E-0000001格式…请在这方面帮助我SIR仅前两次,插入后添加记录后才递增failed@devaram您的insert查询有一些问题。您可以通过print\r($number)
i编辑上面的完整代码来调试代码。sir仅前两次,仅在插入后添加记录后递增failed@devaram发布插入失败的错误。请让我们。