将批量行添加到同一个表

时间:2016-03-14 16:41:35

标签: php html mysql

我正在为书店制作节目。可以添加书籍数量和价格并将其存储在数据库中。我将书名存储在一个表中,如下所示:

+-----+-----------+
| ID  | book_name |
+-----+-----------+
| 1   | English   |
| 2   | Physics   |
| 3   | Chemstry  |
+-----+-----------+

和其他书籍一样:

+-----+---------+---------------+------------+
| ID  | book_id | book_quantity | book_price |
+-----+---------+---------------+------------+
| 1   | 1       | 200           | 400        |
| 2   | 2       | 200           | 400        |
| 3   | 3       | 200           | 400        |
+-----+---------+---------------+------------+

现在问题是我已经制作了单个数据插入程序,但我不知道如何使用这种结构插入批量数据。 HTML代码是这样的:

<form>
    English <input type="hidden" name="book_id" value="1"> <input type="text" name="book_quantity"> <input type="text" name="book_price" /> <br />
    Physics <input type="hidden" name="book_id" value="2"> <input type="text" name="book_quantity"> <input type="text" name="book_price" /> <br />
    Chemistry <input type="hidden" name="book_id" value="3"> <input type="text" name="book_quantity"> <input type="text" name="book_price" /> 
    <input type="hidden" name="action" value="add_bulk">
</form>

<input name的值是相同的,我怎样才能建立一个完美的结构,我找不到合适的解决方案。

3 个答案:

答案 0 :(得分:0)

将ID添加到字段名称中,最好作为数组元素。例如:

var node = document.Descendants("branch")
                   .SingleOrDefault(e => (string)e.Attribute("name") == "foo");

提交后-Dmaven.test.skip.exec可以访问此内容。

答案 1 :(得分:0)

使用像这样的表格:

<form>
English <input type="text" name="book_quantity[1]"> <input type="text" name="book_price[1]" /> <br />
Physics <input type="text" name="book_quantity[2]"> <input type="text" name="book_price[2]" /> <br />
Chemistry <input type="text" name="book_quantity[3]"> <input type="text" name="book_price[3]" /> 
<input type="hidden" name="action" value="add_bulk">

通过这种方式,您可以使用与数组相同的名称检索许多值。在你的PHP代码中你会得到这个:

$_POST['book_quantity'][1]

答案 2 :(得分:0)

你可以这样试试。

<?php 
if(isset($_POST['action'])){

    $book_Id = $_POST['book_id'];
    $book_quantity = $_POST['book_quantity'];
    $book_price = $_POST['book_price'];

    foreach($book_Id as $key => $bookid){        
        mysqli_query($con,"INSERT INTO Book_Stock (book_id ,book_quantity ,book_price )  VALUES ($bookid,$book_quantity[$key],$book_price[$key])"); 
    }

}
?>
<html>
    <body> 
        <form name="bookform" id="bookform" method="POST">
            English <input type="hidden" name="book_id[]" value="1"> <input type="text" name="book_quantity[]"> <input type="text" name="book_price[]" /> <br />
            Physics <input type="hidden" name="book_id[]" value="2"> <input type="text" name="book_quantity[]"> <input type="text" name="book_price[]" /> <br />
            Chemistry <input type="hidden" name="book_id[]" value="3"> <input type="text" name="book_quantity[]"> <input type="text" name="book_price[]" /> 
            <input type="submit" name="action" value="add_bulk">
        </form>
    </body>
</html>