本文为大家讲解的是PHP 批量删除数据的方法,好多朋友在网站开发中,经常需要批量删除数据,尤其是习惯了asp的朋友,更是感觉asp下真方便了,php下什么都是数组有点麻烦。感兴趣的同学参考下. SQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开
本文为大家讲解的是PHP 批量删除数据的方法,好多朋友在网站开发中,经常需要批量删除数据,尤其是习惯了asp的朋友,更是感觉asp下真方便了,php下什么都是数组有点麻烦。感兴趣的同学参考下.
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)";
测试代码:
<?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>
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!