以下是我的表单,其中我有两个不同的 $_POST 数组,“ids”和“quantities”。我正在尝试遍历它们,以便更新数据库列。
我的表格:
<form action="" method="post">
<ul>
<?php foreach($rows as $row) { ?>
<li>
<input type="hidden" name="ids[]" value="<?php echo $row['id']; ?>">
</li>
<li>
<input type="text" name="quantities[]" value="1" size="3">
<?php echo $row['title']; ?>
</li>
<?php } ?>
<li>
<br><input type="submit" value="Submit New Release Edits" name="submit">
</li>
</ul>
</form>
为了正确更新数据库,我尝试运行的代码是:
if(isset($_POST['submit'])) {
foreach($_POST['quantities'] as $quantity) {
foreach($_POST['ids'] as $id) {
$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();
}
}
}
我知道代码不正确,因为它不会同时遍历数量和 id 数组。我需要如何调整我的代码?