复选框从数据库插入/删除

时间:2013-10-17 19:04:40

标签: php mysql sql function checkbox

关于我的代码:

我的代码可以动态显示电子邮件,每封电子邮件旁边都有一个复选框。

<?   
    foreach($er as $row){ ?>
    <input name="emailcheckbox" id="emailcheckbox" type="checkbox" value="check" checked="checked">
    <?
    echo $row[email]."<br><br>";
    echo "<input name='emailID' id='emailID' type='hidden' value='".$row[emailID]."' />";       
    } $emailquery->execute(); ?>

当您取消选中该复选框时,我似乎无法想出一种从特定数据库表中删除每封电子邮件的emailID的方法。当您重新选中该复选框时,我想将其重新插入数据库表。

电子邮件不会消失,因为它们存储在一个完全不同的表中,而不是我要插入/删除的表。

我知道这是一个完整的问题,所以我会回答你的任何问题。提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

首先,将输入更改为

<input name="emailcheckbox[]" value="<?php echo htmlspecialchars($row[email]);?>" ...

所以,在您将此表单发回服务器之后,您将拥有

$_POST['emailcheckbox'] == array('checkedemail1', 'checkedemail2'...)

所以你需要从你的表中删除所有电子邮件并插入来自这个数组的电子邮件,这样你就可以删除未经检查的电子邮件,只保存已选中的电子邮件

答案 1 :(得分:1)

你可以这样做:

<input name="emailcheckbox" id="emailcheckbox" type="checkbox" value="[tablename][email]" checked="checked">

插入页面:

<?
foreach($_POST['emailcheckbox'] as $item)
{
$query = "INSERT INTO ".$item[0]." VALUES(".$item[1].")";
.....
}....
?>