我有一个复选框列表,当我选中该复选框时,它应该将值插入数据库。当我取消选中该复选框时,应该从数据库中删除数据。
如果我在复选框中分配一个值,那么我只能获取选中的复选框值。
如果我使用隐藏字段,那么我可以获得复选框的所有值,但我不知道哪个 1 被选中,哪个 1 被取消选中。
有人可以帮忙吗?
$num="3";
for($i=1;$i<10;$i++){
?>
<form name="form1" method="post" action="testcheckbox.php">
<input type="hidden" name="task" value="validatesn">
<input type="hidden" name="validate[]" value="<?php echo $i;?>">
<input type="checkbox" name="validate[]" <?php if($num==$i){ echo "checked=checked";} ?> />Serialno<?php echo $i."<br/>"; ?>
<?php
$i++;
}
?>
<input type="submit" name="submit" value="Validate" />
</form>
<?php
if($_REQUEST['task'] == 'validatesn'){
$valid=$_POST['validate'];
foreach($valid as $v){
echo $v; //show all checkbox values
//if checkbox= checked then insert value into database
//if untick the checked checkbox then delete data from database
}
}
?>
复选框的标记如下所示:
<input type="checkbox" value="myvalue" name="validate[]">
当您发布表单时,您将看到一个名为的数组validate
in $_POST
.
如果该数组为空,则未选中该复选框。如果该数组包含“myvalue”,则该复选框被选中。
如果您正在处理这样的多个复选框:
<input type="checkbox" value="myvalue1" name="validate[]">
<input type="checkbox" value="myvalue2" name="validate[]">
您的脚本需要知道validate
数组中$_POST
可以包含以下值myvalue1
and myvalue2
。然后你可以查看$_POST['validate']
,如果该值存在于数组中,则选中该复选框。您可以使用array_diff()
无需编写任何循环即可轻松完成此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)