PHP 批量删除数据的方法分析
2018-09-21 16:38
大家可以参考下面的这篇文章//
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>