微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从可变数量的 HTML 复选框插入 SQL

如何解决从可变数量的 HTML 复选框插入 SQL

我有一个带有复选框的用户输入。复选框的数量可能会有所不同,因为它们是通过提取生成的。我想将每个选定复选框的相应值传输到一个表中,并为每个选定的复选框创建一行。我的问题是,在我当前的代码中,只采用了最后一个复选框的值。不确定如何在此处实现 foreach。

我的代码目前是这样的:

HTML 复选框示例可以从 1 到无限重复名称始终相同,但 valueid 正在更改:

<input type="checkBox" class="custom-control-input" name="questionaire_id" id="100" value="100">
<label class="custom-control-label mb-3" for="100"> &nbsp; Some_Name - 100 </label>

PDO 查询 PHP

 if (isset($_POST['speichern'])) {

 $questionaire_id = $_POST['questionaire_id'];

    $statement = $pdo->prepare("INSERT INTO audit_bundles(questionaire_id) VALUES (:questionaire_id)");
    $result = $statement->execute(array('questionaire_id' => $questionaire_id));
}

解决方法

我找到了一个适合我的解决方案。它从选定的复选框中获取值并创建一行。不管我有多少个复选框。

if (isset($_POST['speichern'])) {

    $statement = $pdo->prepare("INSERT INTO audit_bundles (questionaire_id) VALUES (?)");
    $statement->bindParam(1,$questionaire_id);

    foreach ($_POST['questionaire_id'] as &$value) {

    // insert row
    $questionaire_id = $value;
    $statement->execute();

    }    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。