while循环 - 只有来自其他许多人的一个输入通过POST发送值

时间:2017-04-11 15:13:51

标签: php mysql while-loop datatables

这是我从名为optionale的表中获取输入名称和值并使用以下内容执行操作的代码:

$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();

选项表如下所示:

Optionale table

HTML如下所示:

HTML look

正如你在上一张图片中看到的那样,我有HTML,输入的名称(取自optionale表)以及我写入值的实际输入。

FISA-的init.php:

stocuri

在上面的代码中(fisa-init.php)我试图从我的HTML获取所有输入值并更新另一个名为stocuri的表中的行:

enter image description here

如您所见,只有cod表中的第二行已更新,但我在所有5个输入中都写了值。它只有最后一个输入。

如何修改while循环以获取所有输入值?

如果事情不明确,我会道歉一百次。我将解释所需的所有信息。

P.S。表optionale中的cod与表stocuri中的\t相同。通过这种方式,我知道更新值的位置。

1 个答案:

答案 0 :(得分:0)

每个<input>必须有一个单独的名称或命名数组。

所以给每个人添加一个像name1,name2这样的附加数字,或者使用像name[]这样的命名数组

最后,name="codProdus[]"是您的解决方案。

在这里阅读更多内容 HTML input arrays

度过愉快的一天