如果取消选中复选框,则从表中删除


Deleting from table if check box unticked

这可能很容易,但我被卡住了。我有一张带有复选框的表格,上面显示了员工和他们的技能,这些都是从一张多对多关系的表格中提取的。下面的代码适用于更新记录,但如果复选框未选中,我不确定如何删除记录

$emp=$_POST['emp'];  
if(isset($_POST['chk1'])){
    $checkbox=$_POST['chk1'];
    $arr_num=count($checkbox);
    $i=0;
    while ($i < $arr_num)
    {
        $qry = "INSERT IGNORE INTO skillsets (skill_id, empr_id )VALUES(?, ?)";
        $stmt = $mysqli->prepare($qry);
        $stmt->bind_param('ii', $checkbox[$i], $emp);
        $stmt->execute();
        $i++;
    }
}
 else .... delete from .....

我不确定else的语法,有人能帮我吗?

您可以为每个具有相同名称的复选框(在此之前)定义隐藏输入。例如

<input type="hidden" name="items[1]" value="no" />
<input type="checkbox" name="items[1]" value="yes" />

1是您的物品ID。现在,若复选框被选中,那个么它的值就会被发送。在其他情况下,隐藏字段中的值将发送到您的服务器。有了这些数据,您可以在items数组中进行迭代,从索引中获取ID并检查值,以了解它是否被检查。