PHP 批量删除数据的方法分析 |
本文标签:PHP,批量删除数据 大家可以参考下面的这篇文章http://www.jb51.net/article/6488.htm 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> |