【问题标题】:PDO Insert multiple checkbox values in MysqlPDO 在 Mysql 中插入多个复选框值
【发布时间】:2014-07-23 20:22:20
【问题描述】:

我想使用 PDO 在 Mysql 中插入多个复选框值。

HTML 表单部分复选框

<form action="insert.php">
    <label>
        <input name="check[]" id="check[]" type="checkbox" value="<?=$row['id']?>" />
        <span class="lbl"></span>
    </label>
    <button type="submit" name="send" id="send" >
</form>

PHP 部分插入

$checkbox = $_POST['check'];

for (i$=0; $i<sizeof($checkbox);$i++)

    $insert = $pdo->prepare("INSERT INTO table (check_value) VALUES (?)");
    $insert->execute(array(".$checkbox[$i]."));

更多当我使用“.$checkbox[$i]”时。给出“注意:数组到字符串的转换”

【问题讨论】:

  • 那里只有一个复选框。您能否发布整个代码,可能包括php 部分?我相信这应该是来自数据库的循环。
  • “这里我想要在一行中插入每个复选框值的说明” – 没有这样的东西。使用循环。
  • 最好将该复选框移出标签并开始使用forattribute
  • 是的,复选框确实在表格内,这会有所帮助吗?
  • 我试试这个"for (i$=0; $i

标签: php mysql checkbox pdo


【解决方案1】:

一种方法是动态构建 SQL。 只需在 SQL 中添加与复选框值一样多的?

<?php
if (isset($_POST['check'])) {
    $sql = 'INSERT INTO TABLE (check_value) VALUES ({foo})';

    $foo = '';
    foreach($_POST['check'] as $key => $value) $foo .= '?,';
    $foo = rtrim($foo, ',');

    $sql = str_replace('{foo}', $foo, $sql);

    $insert = $pdo->prepare($sql);
    $insert->execute($_POST['check']);
}

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 2015-07-07
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 2015-02-19
    • 2021-08-06
    相关资源
    最近更新 更多