我正在使用以下Jquery选项
创建动态文本字段Jquery代码
<script>
$(function () {
$('input.more').on('click', function () {
var $table = $('#input_fields');
var $tr = $table.find('tr').eq(0).clone();
$tr.appendTo($table).find('input').val('');
});
});
</script>
并使用以下PHP
将记录插入表中$post_count = count($_POST['product']);
$post1 = array();
$post2 = array();
$post1 = $_POST['product'];
$post2 = $_POST['quantity'];
for ($i = 0; $i <= $post_count; $i++) {
$sql[] = "INSERT INTO product (product,quanity) VALUES ('".$post1[$i]."','".$post2[$i]."')";
}
foreach ($sql as $query) {
mysqli_query($conn, $query);
}
?>
1)库存ID从表中检索。
我想知道何时输入产品和数量,如何在动态创建的文本字段中保留相同的库存ID并将数据插入数据库
答案 0 :(得分:0)
首先停止使用mysql_
和mysqli_
库
它们已经过时了,因为SQL injection issues而不应该使用它们。
如果要执行循环,则需要将所有逻辑放在同一循环中 像这样:
//connect to DB
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$post_count = count($_POST['product']);
$post1 = array();
$post2 = array();
$post1 = $_POST['product'];
$post2 = $_POST['quantity'];
//prepare your statement
$stmt = $dbh->prepare("INSERT INTO product (product,quantity) VALUES (?, ?)");
$stmt->bindParam(1, $product);
$stmt->bindParam(2, $quantity);
for ($i = 0; $i <= $post_count; $i++) {
$product = $post1[i];
$quantity = $post2[i];
//execute the prepared statement with your parameters.
$stmt->execute();
}
请注意,此代码uses PDO的参数本身可以从SQL注入问题中保存,运行速度更快,更易于使用。
如果您想更快地执行插入操作,可以使用以下代码将它们放在单个insert语句中:How to insert an array into a single MySQL Prepared statement w/ PHP and PDO