当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP 批量删除数据的方法分析

PHP
php调用mysql存储过程
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
PHP中HTTP方式下的Gzip压缩传输方法举偶
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
如何提高PHP速度
发布一个用PHP fsockopen写的HTTP下载的类
php公用函数列表[正则]
实现了一个PHP5的getter/setter基类的代码
php简单封装了一些常用JS操作
Smarty+QUICKFORM小小演示
给php新手谈谈我的学习心得
NOD32 v2.70.32 简体中文封装版 提供下载了
个人站长制做网页常用的php代码
收集的php编写大型网站问题集
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
php下实现农历日历的代码
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
php网页后退不再出现过期
PHP实现用户认证及管理完全源码
用PHP制作的意见反馈表源码

PHP 批量删除数据的方法分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 209 ::
收藏到网摘: n/a

好多朋友在网站开发中,经常需要批量删除数据,尤其是习惯了asp的朋友,更是感觉asp下真方便了,php下什么都是数组有点麻烦。 大家可以参考下面的这篇文章http://www.ruanchen.com/"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>