0

关于我的代码的一点:

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

<?   
    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 的方法。当您重新选中该复选框时,我想将其重新插入数据库表中。

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

我知道这是一个完整的问题,所以我会回答您可能遇到的任何问题。预先感谢您的所有帮助!

4

2 回答 2

2

首先,将您的输入更改为

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

因此,在您将此表单发回服务器后,您将拥有

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

因此您需要从表中删除所有电子邮件并从该数组中插入电子邮件,这样您将删除未选中的电子邮件并仅保存已选中的电子邮件

于 2013-10-17T19:08:37.400 回答
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].")";
.....
}....
?>
于 2013-10-17T19:13:50.037 回答