PHP 批量删除数据的方法分析
程序员文章站
2022-06-22 21:00:12
大家可以参考下面的这篇文章sql:$sql="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开。 表单:...
大家可以参考下面的这篇文章
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)";
提供测试代码:
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<?php
if ($_post["action"]="doing"){
$del_id=$_post["id_dele"];
$id_dele= implode(",",$_post['id_dele']);
echo "合并后:".$id_dele."<br />合并前:";
if($del_id!=""){
$del_num=count($del_id);
for($i=0;$i<$del_num;$i++){
echo $del_id[$i];
}
}
}else{
echo "请提交";
}
?>
<form action="?action=doing" method="post">
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第1个"/>第1个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第2个"/>第2个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第3个"/>第3个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第4个"/>第4个
<input type="submit"/>
</form>
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)";
提供测试代码:
复制代码 代码如下:
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<?php
if ($_post["action"]="doing"){
$del_id=$_post["id_dele"];
$id_dele= implode(",",$_post['id_dele']);
echo "合并后:".$id_dele."<br />合并前:";
if($del_id!=""){
$del_num=count($del_id);
for($i=0;$i<$del_num;$i++){
echo $del_id[$i];
}
}
}else{
echo "请提交";
}
?>
<form action="?action=doing" method="post">
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第1个"/>第1个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第2个"/>第2个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第3个"/>第3个
<input name="id_dele[]" type="checkbox" id="id_dele[]" value="第4个"/>第4个
<input type="submit"/>
</form>