<form action="" method="post">
<?php
$sql = "select * from tb_transport";
$query = mysql_query($sql);
$a=1;
while($row=mysql_fetch_array($query))
{
$sql_2="select * from transport_two where transport_id='$row[name]'";
$query_2=mysql_query($sql_2);
$row_2=mysql_fetch_array($query_2);
?>
<input type="checkbox" name="courses[<?php echo $a; ?>][crs]" value="<?php echo $row["name"]; ?>" <?php if($row_2["transport_id"]=="$row[name]") { ?> checked="checked" <?php } ?> />< ?php echo $row["name"]; ?>
<?php
$a=$a+1;
}
?>
<input type="submit" name="save" />
</form>
这是我的表单,我有许多依赖于我的数据库记录的复选框。
在这里,我也应用了代码,如果数据库中存在复选框值,则显示已选中。
如果我选中了复选框,则会插入带有复选框值的行。
现在我要找的是,如果我取消选中已检查的checbox,那么该数据库行将被删除。
我该怎么做?
这是我的插入代码:
<?php
if(isset($_POST["save"])) {
$arr = $_POST["courses"];
for ($i = 0; $i < 20; $i++) {
if (!empty($arr[$i]['crs'])) {
$a = $arr[$i]['crs'];
mysql_query("insert into transport_two set transport_id='$a'");
}
}
}
?>
答案 0 :(得分:1)
如果要在标记/取消标记复选框时从数据库中删除,则需要使用JavaScript或jQuery。
如果您想在用户点击提交按钮时从数据库中删除,您必须将值发送到您的PHP脚本,该脚本会从数据库中更新/删除。
答案 1 :(得分:0)
只需给复选框一个简单的类。
<form action="" method="post">
<?php
$sql="select * from tb_transport";
$query=mysql_query($sql);
$a=1;
while($row=mysql_fetch_array($query))
{
$sql_2="select * from transport_two where transport_id='$row[name]'";
$query_2=mysql_query($sql_2);
$row_2=mysql_fetch_array($query_2);
?>
<input type="checkbox" class="deleteFromDb" name="courses[<?php echo $a; ?>][crs]" value="<?php echo $row["name"]; ?>" <?php if($row_2["transport_id"]=="$row[name]") { ?> checked="checked" <?php } ?> /><?php echo $row["name"]; ?>
<?php
$a=$a+1;
}
?>
<input type="submit" name="save" />
</form>
在此处单击任何复选框并按jquery检查它是选中还是取消选中。如果取消选中,则ajax发送请求以从db中删除此记录。
$(document).ready(function(){
$(".deleteFromDb").change(function(e){
if ($(this).prop('checked')==false){
$.ajax({type: "POST",
url: "deleterecord.php",
data: { id:$(this).val().trim() },
success:function(result){
var response = JSON.parse(result);
if(response.error){
//here provide a error msg to user.
alert(response.error);
}
if(response.success){
alert("record deleted");
}
}});
});
}
});
Delete.php 这里执行删除操作。
$id = $_POST['id'];
$strSQL = mysql_query("DELETE FROM `table` WHERE id = ".$id);
if($strSQL){
$result['success'] = "success";
}
else
{
$result['error'] = "try again";
}
echo json_encode($result); die;
现在,当您单击任何复选框并且ubcheck时,该记录将从db。
中删除