试试这个:(用直接访问替换了第二个循环,这样你就只能得到想要的ID)
$i = 0;
if(isset($_POST['submit'])) {
foreach($_POST['quantities'] as $quantity) {
$id = $_POST['ids'][$i];
$stmt = $db->prepare("UPDATE titles SET release_quant=:release_quant WHERE id=:id");
$stmt->bindValue(':release_quant', $quantity, PDO::PARAM_INT);
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$i++;
}
}
由于您想同时循环 2 个数组,因此最好在索引上使用常规 for 循环,而不是 foreach 循环:
if(isset($_POST['submit'])) {
$count = count($_POST['quantities']);
for($i = 0; $i < $count; $i++) {
$stmt = $db->prepare("UPDATE titles SET release_quant=:release_quant WHERE id=:id");
$stmt->bindValue(':release_quant', $_POST['quantities'][$i], PDO::PARAM_INT);
$stmt->bindValue(':id', $_POST['ids'][$i], PDO::PARAM_INT);
$stmt->execute();
}
}
$total_inputs=count($_POST['inp_id_enterprise']);
对于 ($ixa=0;$ixa<$total_inputs;$ixa++) {
$id_enterprise=trim($_POST['inp_id_enterprise'][$ixa]);
$name_enterprise=$_POST['inp_name_enterprise'][$ixa];
//... some code, like insert into or update
}