Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php生成发票号_Php_Phpmyadmin - Fatal编程技术网

如何使用php生成发票号

如何使用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

我需要从具有自动增量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_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发布插入失败的错误。请让我们。