我不知道如何保存复选框输入到MySQL中,并能够检索它们并重新填充输入。
我甚至还没有创建一个表,因为我不知道如何去做。
我有一个html表与多行(tr),并在它所有的表有这些复选框,我想保存每个选定的框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>
对于可变数量的项目,从数据库中获取项目并使用它们进行循环:
<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>
在您期望接收的值类上运行print_r($_POST)
,那么该值将始终是您期望的值。