簡體   English   中英

如何在 php mysql 中插入具有單個發票編號的多個表單字段數據

[英]How to insert multiple form fields data with single invoice no in php mysql

我正在使用 Jquery ajax 使用基於 PHP/Mysqli 的項目發票系統。 發票表結構為:table_invoice -> 字段為(id, invoice_no, product, rate, qty)。 添加發票表單如下所示:

<form action="" method="post" id="addForm">
    <input type="text" name="productName[]" placeholder="" class="form-control proList" autocomplete="off" />
    <input type="text" name="productRate[]" placeholder="" class="form-control" autocomplete="off" />
    <input type="text" name="productQuantity[]" placeholder="" class="form-control" autocomplete="off" />
    <input type="hidden" name="invoiceNo" value="19299092" />
    <input type="hidden" name="action" id="action" value="insert" />
    <button type="submit" name="submit" id="submit" class="btn btn-success"><i class="fa fa-plus"></i> Save</button>
</form>

在 php 文件中

<?php
include("connection.php");
if($_POST["action"] == 'insert'){
    $invoice = $_POST["invoiceNo"];
    $productName = $_POST["productName"];
    $productRate = $_POST["productRate"];
    $productQuantity = $_POST["productQuantity"];
    for($i=0;$i < count($productName);$i++){
         $query = mysqli_query($conn,"INSERT INTO tbl_invoice(invoice_no,product,rate,qty) VALUES('".$invoice[$i]."','".$productName[$i]."','".$productRate[$i]."','".productQuantity[$i]."')");
    }
}

MYSQL 表:

19299092, Product 1, 100, 10
0,        Product 2, 150, 20
0,        Product 3, 200, 20

查詢或表單的問題在哪里?

抱歉沒有足夠的聲譽發表評論

相同的發票編號,因此您不必使用索引(例如字段:id 是自動增量)

您可以使用以下查詢語句:

"INSERT INTO 
tbl_invoice 
SET invoice_no = '" . $invoice . "', 
    product = '" . $productName[$i] . "', 
    rate = '" . $productRate[$i] . "', 
    qty = '" . $productQuantity[$i] . "'"

更改查詢之類的。 您不需要在invoice no中使用$i傳遞索引,因為invoice no不在數組中。

 $query = mysqli_query($conn,"INSERT INTO tbl_invoice(invoice_no,product,rate,qty) VALUES('".$invoice."','".$productName[$i]."','".$productRate[$i]."','".productQuantity[$i]."')");
<input type="hidden" name="invoiceNo" value="19299092" />

您的發票編號是您可以在沒有數組的情況下插入的值

for($i=0;$i < count($productName);$i++){
         $query = mysqli_query($conn,"INSERT INTO tbl_invoice(invoice_no,product,rate,qty) VALUES('".$invoice."','".$productName[$i]."','".$productRate[$i]."','".productQuantity[$i]."')");
    }

嘗試這個。 希望它會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM