【发布时间】:2017-04-11 15:13:51
【问题描述】:
这是我从名为 optionale 的表中获取输入名称和值的代码,并使用这些代码:
<form role="form" autocomplete="off" action="includes/functions/fisa-init.php" method="POST">
<?php
connectDB();
$query = mysqli_query($mysqli, "SELECT * FROM `optionale`") or die(mysqli_error($mysqli));
while($row = mysqli_fetch_array($query))
{
?>
<span><?php echo $row['denumire']; ?></span>
<input type="text" name="nrBucati">
<input type="hidden" value="<?php echo $row['cod']; ?>" name="codProdus">
<?php } ?>
</form>
可选表如下所示:
HTML 如下所示:
正如您在最后一张图片中看到的,我在 HTML 中拥有一个输入名称(取自可选表)和我在其中写入值的实际输入。
fisa-init.php:
$stmt3 = $mysqli->prepare("
UPDATE
`stocuri`
SET
`cantitate` = `cantitate` - ?
WHERE `cod` = ?
");
$stmt3->bind_param("is", $bucata, $cod);
// set parameters and execute
$bucata = mysqli_real_escape_string($mysqli, $_POST['nrBucati']);
$cod = mysqli_real_escape_string($mysqli, $_POST['codProdus']);
if (!$stmt3->execute())
{
echo "Execuția a întâmpinat o eroare: (" . $stmt3->errno . ") " . $stmt3->error;
}
$stmt3->close();
$mysqli->close();
在上面的代码 (fisa-init.php) 中,我试图从我的 HTML 中获取所有输入值并更新另一个名为 stocuri 的表中的行:
如您所见,stocuri 表中只有第二行被更新,但我在所有 5 个输入中都写入了值。它只得到最后一个输入。
如何修改 while 循环以获取我所有的输入值?
如果有什么不清楚的地方,我道歉一百次。我将解释所有需要的信息。
附:表optionale 中的cod 与表stocuri 中的cod 相同。这样,我就知道在哪里更新值了。
【问题讨论】:
-
哇,你很快就理解了我的问题。谢谢你的答复。我忘了我必须使用 name="codProdus[]" 之类的东西。我会搜索它。
-
谢谢。请发布答案以选择它。这对您的声誉有好处:D.
标签: php mysql while-loop datatables