gpt4 book ai didi

php - 如果未选中复选框,则删除数据库条目

转载 作者:行者123 更新时间:2023-11-29 06:03:54 25 4
gpt4 key购买 nike

我有一个表单,允许工程师通过选中复选框来添加到工作中,效果很好。但是,我希望用户通过取消选中另一个表单上的复选框来删除工程师。

该表(多对多表)有 3 列 id_ce(主键)、call_ce(外键)和 Engineer_ce(外键)。我希望表单检查一个复选框是否为空,以及是否检查表中是否有带有 call_ce 和 Engineer_ce 的条目,如果存在则将其删除,但我失败得很惨。

这就是我到目前为止所拥有的......

foreach($_POST['engineer'] as $engineer_id){
if(!isset($_POST['engineer'])){
$sql = "SELECT * FROM calls_engineers WHERE call_ce = '$diary_id' AND engineer_ce = '$engineer_id'";
$result = mysql_query($sql)or die(mysql_error());
if(mysql_num_rows($result) > 0){
$sql = "DELETE FROM calls_engineers WHERE engineer_ce = '$engineer_id'";
$result = mysql_query($sql)or die(mysql_error());
}
}
}

我怀疑问题可能是未选中的复选框不会发布,因此它们不会经历 foreach 循环,但我不确定是否有其他方法。

任何帮助将不胜感激

最佳答案

您可以在页面上放置一个带有工程师 ID 的隐藏字段。比如说,它将被称为 engineer_on_page

现在你可以

foreach($_POST['engineer_on_page'] as $engineer_id) {
if(!in_array($engineer_id, $_POST['engineer'])){
//do delete here
}
}

我希望复选框看起来与此类似:

<input type="checkbox" name="engineer[]" value="[engineer_id]"/>

和隐藏字段

<input type="hidden" name="engineer_on_page[]" value="[engineer_id]"/>

您还可以指定这样的复选框字段:

<input type="checkbox" name="engineer[[engineer_id]]" value="[engineer_id]"/>

其中 [engineer_id] 是实际 ID(1、2,3 等)

在第二种情况下,您可以使用

     if(!isset($_POST['engineer'][$engineer_id])){
//do delete here
}

关于php - 如果未选中复选框,则删除数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com