如何在一个查询中插入多行?

时间:2017-02-23 04:55:14

标签: php mysqli

<tr class="targetfields">
    <td><input type="text" class="form-control" name="order_id[]"  value="<?php echo $row3['id']; ?>"/></td>
    <td width="400"><textarea name="desc" class="form-control"><?php echo $item_description; ?></textarea></td>
    <td><input id="quant" class="form-control common quantity" name="quant[]" type="text" value="<?php echo $quantity; ?>"/></td>
    <td><input id="unit_price" class="form-control common price" name="unit_price[]"  type="text" value="<?php echo $unit_price; ?>"/></td>
    <td><input id="total" readonly class="form-control total" name="total[]" type="text" value=""/></td>
</tr>
<tr class="targetfields">
    <td><input type="text" class="form-control" name="order_id[]"  value="<?php echo $row3['id']; ?>"/></td>
    <td width="400"><textarea name="desc[]" class="form-control"><?php echo $item_description; ?></textarea></td>
    <td><input id="quant" class="form-control common quantity" name="quant[]" type="text" value="<?php echo $quantity; ?>"/></td>
    <td><input id="unit_price" class="form-control common price" name="unit_price[]"  type="text" value="<?php echo $unit_price; ?>"/></td>
    <td><input id="total" readonly class="form-control total" name="total[]" type="text" value=""/></td>
</tr>
<tr class="targetfields">
    <td><input type="text" class="form-control" name="order_id[]"  value="<?php echo $row3['id']; ?>"/></td>
    <td width="400"><textarea name="desc[]" class="form-control"><?php echo $item_description; ?></textarea></td>
    <td><input id="quant" class="form-control common quantity" name="quant[]" type="text" value="<?php echo $quantity; ?>"/></td>
    <td><input id="unit_price" class="form-control common price" name="unit_price[]"  type="text" value="<?php echo $unit_price; ?>"/></td>
    <td><input id="total" readonly class="form-control total" name="total[]" type="text" value=""/></td>
</tr>

<button  id='btn' name='btn' class="btnn primary-btn" type='submit'>Submit</button>

我总共有10行

PHP

if(isset($_POST['btn'])){
    ob_start();
    $order_id = $_POST["order_id"];
    $desc = $_POST["desc"];
    $quant = $_POST["quant"];
    $unit_price = $_POST["unit_price"];
    $total = $_POST["total"];

    $query = mysqli_query($con,"insert into orders (id,description,quantity,unit_price,total) values('".$order_id."','".$desc."','".$quant."','".$unit_price."','".$total."') ");

我试图在一个查询中插入数据库中的所有记录,如何通过一个查询插入数据库中的所有行?

1 个答案:

答案 0 :(得分:0)

如果你想使用循环

if(isset($_POST['btn'])){
    ob_start();
    foreach($_POST["order_id"] as $key =>$value){
        $order_id = $value;
        $desc = $_POST["desc"][$key];
        $quant = $_POST["quant"][$key];
        $unit_price = $_POST["unit_price"][$key];
        $total = $_POST["total"][$key];

        $query = mysqli_query($con,"insert into orders (id,description,quantity,unit_price,total) values('".$order_id."','".$desc."','".$quant."','".$unit_price."','".$total."') ");

    }


}

否则您可以使用多个插入查询

INSERT INTO example
      (example_id, name, value, other_value)
    VALUES
      (100, 'Name 1', 'Value 1', 'Other 1'),
      (101, 'Name 2', 'Value 2', 'Other 2'),
      (102, 'Name 3', 'Value 3', 'Other 3'),
      (103, 'Name 4', 'Value 4', 'Other 4');