程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 批量刪除數據的方法分析

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>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved