具有非动态输入字段的动态输入字段插入两个mysql表中不起作用

时间:2019-09-27 11:31:28

标签: javascript php mysql sql

我在数据库中有两个表

表1-订单

header('Content-type: image/jpeg');

表2-产品

 - id -Primary Key
 - name
 - date

我有三个输入字段,名称,日期和产品。产品输入字段是动态输入字段。

我要做的是将名称和日期输入字段插入到订单MYSQL表中,而产品动态输入字段将数据插入到产品MYSQL表中,该产品是订单表的子级,因此ID号需要匹配。

我无法将数据插入两个sql表中,

如果可以,请通过以下内容提供帮助。

还请注意,我是编码的新手。

 - product_id - Primary Key
 - product
 - id - Foreign Key

1 个答案:

答案 0 :(得分:0)

根据我的理解,您需要根据名称和日期在订单表中保存一条记录,然后需要将多个产品保存在名为“产品”的子表中,但是您循环使用了错误的变量“名称”,因为您只有1个“名称”和“日期”字段,但有多个产品。请尝试运行以下代码,希望它将为您解决问题

if (isset($_POST['submit'])) {
    //connect to db
    $mysqli = NEW MySQLi('localhost', 'root', '', 'dbtest');

    $name = $_POST['name'];
    $date = $_POST['date'];
    $product = $_POST['product'];

    $name1 = current($name);
    $date1 = current($date);

    $sql = "INSERT INTO orders(name, date) VALUES 
            ('" . $mysqli->real_escape_string($name1) . "',
             '" . $mysqli->real_escape_string($date1) . "'
            )";

    $insert = $mysqli->query($sql);

    $newOrderId = mysqli_insert_id($mysqli);

    if ($insert) {
        foreach ($product AS $key => $value) {


            $sql2 = "INSERT INTO products(product) VALUES 
            ('" . $mysqli->real_escape_string($value) . "')";

            $insert = $mysqli->query($sql2);
        }

        echo"<script language='javascript'>alert('successfully inserted')</script>";
        echo"<script>document.location='index.php';</script>";
    }

    $mysqli->close();
}