如何将清单值保存到MySQL&能够重新填充复选框?

时间:2014-05-18 00:32:11

标签: php mysql sql

我无法弄清楚如何将选中的复选框表单输入保存到MySQL中,并能够检索它们并重新填充输入。

我还没有创造一张桌子,因为我无法理解如何去做。

我有一个包含多行(tr)的html表,在其中所有表都有这些复选框,我想将每个选中的框保存到MySQL和 能够检索所选择的并重新填充它,但正如我所说,我无法弄清楚如何做到这一点。

我能想到的唯一方法是,使用foreach提交所选内容并保存所有选定的内容,每行包含特定的表行iD但我不明白如果它们是如何检索它地选择。

我有以下内容,但不知道它是如何可以检索的。此外,复选框可以随时增加(选项),因此我无法为它们创建特定的表,因为目前有4个复选框,但明天它可以是20个复选框可供选择。

$checkboxData = $_POST['cbO'];
$tableiD      = '1';

if(isset($_POST['submit']))
{
    for( $i=0; $i < sizeof($checkboxData); $i++ )
    {
        $sth = $this->db->prepare("INSERT INTO table(rows) VALUES (:checkboxInfo) WHERE table_id = :tableiD");
        $sth->execute(array(
               ':checkboxInfo' => $checkboxData[$i],
               ':tableiD' => $tableiD)
        );
    }
}

<form method="post" action="">
    <li><input type="checkbox" name="cbO[]" value="349169846048613138">CheckBox1</li>
    <li><input type="checkbox" name="cbO[]" value="349169846048613136">CheckBox2</li>
    <li><input type="checkbox" name="cbO[]" value="349169846048613140">CheckBox3</li>
    <li><input type="checkbox" name="cbO[]" value="349169846048613141">CheckBox4</li>

    <input type="submit" name"submit" value"Submit"/>
</form>

2 个答案:

答案 0 :(得分:0)

关于可变数量的项目,从数据库中获取项目并使用它们循环:

<form method="post" action="">
<ul>
<?php if (!empty($items)) foreach ($itens as $i => $value) { ?>
    <li>
        <input type="checkbox" name="cbO[<?= $i ?>]" value="<?= $value ?>"> 
        CheckBox<?= ($i + 1) ?>
    </li>
<?php } ?>
</ul>
</form>

答案 1 :(得分:0)

在您希望收到的值类上运行print_r($_POST),然后该值将是您期望的值。