简体   繁体   English

如何在 php mysql 中插入具有单个发票编号的多个表单字段数据

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

i'm working in a project invoice system based on PHP/Mysqli with Jquery ajax.我正在使用 Jquery ajax 使用基于 PHP/Mysqli 的项目发票系统。 Invoice table structure is: table_invoice -> fields are (id, invoice_no, product, rate, qty).发票表结构为:table_invoice -> 字段为(id, invoice_no, product, rate, qty)。 Add invoice form looks like:添加发票表单如下所示:

<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>

in php file在 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 TABLE: MYSQL 表:

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

where's the problem in query or form?查询或表单的问题在哪里?

sorry for not having enough reputation to comment抱歉没有足够的声誉发表评论

same invoice number so you don't have to use index (say field: id is auto increment)相同的发票编号,因此您不必使用索引(例如字段:id 是自动增量)

you may use the following query statement:您可以使用以下查询语句:

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

Change query like.更改查询之类的。 You don't need to pass index with $i in invoice no because invoice no is not in an array.您不需要在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" />

Your invoice no is a value you can insert without an array您的发票编号是您可以在没有数组的情况下插入的值

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]."')");
    }

Try this.尝试这个。 Hope It will helps.希望它会有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将多个HTML表单字段作为日期插入到单个MySQL列中 - How to INSERT multiple HTML form fields into a single MySQL column as date 使用单个php表单在多个Mysql表中插入数据 - Insert data in multiple Mysql tables using single php form 如何将数据从多个输入字段转换为单个JSON对象,以将其进一步插入单个mysql字段 - How to Convert Data From multiple input fields to a single JSON object to further insert it into single mysql field 如何在 PHP MySQL 表单数据中插入数据,该表单数据具有多个选择并启用了 multiple='multiple' - How to insert data in PHP MySQL form data which has multiple selects with multiple='multiple' enabled 如何使用PHP和MySQL从单个表单一次插入多个值 - How To Insert multiple values from a single form at once using PHP and MySQL 使用codeigniter以单一形式将多个数据插入mysql表 - insert multiple data into mysql table in single form with codeigniter php:如何将大表单数据插入到mysql中 - php: how to insert large form data into mysql 如何通过PHP将未知数量的HTML表单字段插入MySQL? - How to Insert unknown amount of HTML form fields into MySQL via PHP? 如何创建多个动态表单字段并插入到mysql数据库中 - How to create multiple dynamic form fields and insert in mysql database 如何在mysql中插入多个字段 - how to insert multiple fields into mysql
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM