我有一个复选框列表,当我选中复选框时,它应该将值插入数据库.当我取消选中该复选框时,它应该是从数据库中删除数据.
如果我在复选框中指定一个值,那么我只能获得选中的复选框值.如果我使用隐藏字段然后我可以得到所有值的复选框,但然后我不知道哪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
}
}
?>
Run Code Online (Sandbox Code Playgroud)
复选框的标记如下所示:
<input type="checkbox" value="myvalue" name="validate[]">
Run Code Online (Sandbox Code Playgroud)
当您张贴的形式,你会看到一个名为阵列validate在$_POST.
如果该数组为空,则不检查该复选框.如果该数组包含"myvalue",则选中该复选框.
如果您正在处理多个这样的复选框:
<input type="checkbox" value="myvalue1" name="validate[]">
<input type="checkbox" value="myvalue2" name="validate[]">
Run Code Online (Sandbox Code Playgroud)
您的脚本需要知道validate数组中的$_POST值可以包含myvalue1和myvalue2.然后你可以查看$_POST['validate'],如果数组中存在该值,则选中该复选框.您可以使用array_diff()轻松地做到这一点,而无需编写任何循环.
| 归档时间: |
|
| 查看次数: |
7772 次 |
| 最近记录: |