【发布时间】:2018-03-18 22:00:45
【问题描述】:
我需要通过 ajax 调用向 php 提交一个动态创建的字段集,以将数据插入 DB。该列表适用于特定供应商的产品项目。我需要进行 ajax 调用,但不知道如何在数据字段中提交命名数组。
我的 HTML:
<div class='col-md-2 '><input name="item_number[]" id="item_number" class="form-control" placeholder='item number' /></div>
<div class='col-md-4 '><input name="description[]" id="description" class="form-control" placeholder='description' /></div>
<div class='col-md-1 '><input name="quantity[]" id="quantity" class="form-control" placeholder='Quantity' /></div>
<div class='col-md-2 '><input name="unit_price[]" id="unit_price" class="form-control" placeholder='Unit Price' /></div>
<div class='col-md-2 '><input name="sales_price[]" id="sales_price" class="form-control" placeholder='Sales Price' /></div>
<div><button name="add_item" id="add_item" class="btn btn-primary">+</button></div>
如何获取发布到我的 PHP 文件的值集,然后通过 for 循环插入它们
我的 PHP 文件如下:
$supplier_selection = $_POST['supplier_id'];
$item_id = $_POST['item_id'];
$array_description = $_POST['description'];
$array_quantity = $_POST['quantity'];
$array_unit_price = $_POST['unit_price'];
$array_sale_price = $_POST['sale_price'];
foreach ($item_id as $key => $value) {
$check_item_id = "SELECT item_id from products where item_id='" . $mysqli->real_escape_string($item_id [$key]) . "'LIMIT 1";
$resultset = $mysqli->query($check_item_id);
if ($resultset->num_rows == 0) {
//perform insert to table
$insert_product = "INSERT INTO `products` (`id`, `item_id`, `supplier_id`, `description`, `quantity`, `purchase_price`, `retail_price`) "
. "VALUES (NULL, '" . $mysqli->real_escape_string(item_id) . "','$supplier_selection', '" . $mysqli->real_escape_string($array_description[$key]) . "', '" . $mysqli->real_escape_string($array_quantity[$key]) . "', '" . $mysqli->real_escape_string($array_unit_price[$key]) . "', '" . $mysqli->real_escape_string($array_sale_price[$key]) . "')";
$insert_item = $mysqli->query($insert_product);
if (!$insert_item) {
echo $mysqli->error;
echo "<script>";
echo "alert('Error inserting!')";
echo "</script>";
} else {
echo "successfully inserted" . $mysqli->real_escape_string($item_id[$key]) . "";
echo "<script>";
echo "alert('Items Added successfully')";
echo "</script>";
}
}
}
【问题讨论】:
标签: javascript php arrays ajax