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>
php技術:PHP 批量刪除數據的方法分析,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。