发布网友 发布时间:2022-04-28 01:57
共2个回答
懂视网 时间:2022-04-28 06:19
php实现多选删除的方法:首先创建好前台checkbox多选内容的文件;然后通过implode函数把数组元素组合为一个字符串;最后使用SQL语句实现删除即可。
推荐:《PHP视频教程》
php一次性删除前台checkbox多选内容的方法
代码如下:
SQL:$SQL="delete from `doing` where id in ('1,2,3,4')";
数据用逗号隔开。
表单:
代码如下:
<form action="?action=doing" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/> <input type="submit"/> </form>
好$ID_Dele=$_POST['ID_Dele']将会是一个数组,虽然说PHP是弱类型的,但这里可没ASP弱。
ASP可以直接:
SQL="delete from [doing] where id in ('"&ID_Dele&"')"进行删除。但PHP不能把$ID_Dele直接放进去。因为$ID_Dele可不是'1,2,3,4'哦,因为$ID_Dele是一个数组,具有键和值。
好,PHP中也不难,刚好有个函数:implode(),对了。同split()explode()功能刚好相反的一个函数,后两者是用某字符(比如逗号)分割的,而前者则可以拼接为字符串。
因此:
代码如下:
$ID_Dele= implode(",",$_POST['ID_Dele']); $SQL="delete from `doing` where id in ($ID_Dele)";
热心网友 时间:2022-04-28 03:27
(1)复制以下代码:
for(j=0;j<max.length;j++){document.form1.del[j].checked = true;}} function sltNull(){var max =document.form1.item("del");
for(j=0;j<max.length;j++){document.form1.item("del",j).checked = false;}} function SelectChk(){var s=false,delid,n=0,strid,strurl;
var nn =document.form1.item("del");
for (j=0;j<nn.length;j++){if (document.form1.item("del",j).checked){n = n + 1;s=true;delid =document.form1.del[j].value;
if(n==1){strid = delid;}
else{strid = strid + "," + delid;}}}if (nn.length==null){if (document.form1.del.checked){ s=true;strid =document.form1.del.value;}
}strurl = "new_delete.php?fenlei=<?php echo $fenlei ?>&id=" +strid;if(!s) {
alert("请选择要删除的新闻项目!");
return false;}
if ( confirm("你确定要删除这些新闻吗?")){form1.action = strurl;
form1.submit();}} </script>
(2)在表单元素中的 全选 取消 删除 按钮上分别加入onClick="sltAll();"
onClick="sltNull();" onClick="SelectChk();"
(3)千万别忘了。。把所有复选框命名为del呀。
(4)根据实际情况改一下strurl = "new_delete.php?fenlei=<?php echo $fenlei ?