本文目錄一覽:
PHP怎麼實現批量刪除 實現批量刪除的代碼
1.前台
!DOCTYPE html
html
head
title批量刪除/title
/head
body
scripttype=”text/javascript”
//複選框
function checkall(all)
{
var ck = document.getElementsByClassName(“ck”);
if(all.checked)
{
for(var i=0;ick.length;i++)
{
ck[i].setAttribute(“checked”,”checked”);
}
}
else
{
for(vari=0;ick.length;i++)
{
ck[i].removeAttribute(“checked”);
}
}
}
/script
formaction=”test.php”method=”post”
tableborder=”1″
trthinputtype=”checkbox”name=”all”onclick=”checkall(this)”/id/thth名字/th/tr
!– 此處調用顯示列表函數 —
?phpshow() ?
trtdcolspan=”3″inputtype=”submit”value=”批量刪除”/td/tr
/table
/form
/body
?php
//顯示列表
function show()
{
//連接資料庫
@mysql_connect(‘localhost’,’root’,”);
mysql_select_db(‘test’);
mysql_query(‘set names utf8’);
$sql=”select id,name from test”;
$res=mysql_query($sql);
//循環取出數據
while($row=mysql_fetch_row($res))
{
echo “tr
td
inputtype=’checkbox’value='{$row[0]}’name=’item[]’class=’ck’/
{$row[0]}
/td
td{$row[1]}/td
/tr”;
}
}
?
/html
2.後台
?php
//接收post傳來的數組
$arr=$_POST[“item”];
/**
* 批量刪除
* 思路:把前台批量選擇的數據放在數組裡,刪除該數組即可
* @param $arr
* @return $res 成功or失敗
*/
functionbatch_del($arr)
{
@mysql_connect(‘localhost’,’root’,”);
mysql_select_db(‘test’);
mysql_query(‘set names utf8’);
//把數組元素組合為字元串:
$str= implode(“‘,'”,$arr);
//in 表示多個
$sql=”delete from test where id in(‘{$str}’)”;
$res= mysql_query($sql);
if(!$res){
echo”刪除失敗”;
}else{
if(mysql_affected_rows()0){
echo”刪除成功”;
}else{
echo”沒有行受到影響”;
}
}
}
//調用批量刪除函數
batch_del($arr);
php如何實現全選批量刪除
SCRIPT LANGUAGE=”JavaScript”
!–
function quan()
{
if(document.getElementsByName(“qx[]”)[0].checked==false)
{
for(var i=0;idocument.getElementsByName(“quanxuan[]”).length;i++)
{
document.getElementsByName(“quanxuan[]”)[i].checked=false;
}
}
if(document.getElementsByName(“qx[]”)[0].checked)
{
for(var i=0;idocument.getElementsByName(“quanxuan[]”).length;i++)
{
document.getElementsByName(“quanxuan[]”)[i].checked=true;
}
}
}
//–
function xuan()
{
var a=new Array();
var i;
var c=0;
for(i=0;idocument.getElementsByName(“quanxuan[]”).length;i++)
{
if(document.getElementsByName(“quanxuan[]”)[i].checked)
{
a[c]=document.getElementsByName(“quanxuan[]”)[i].value;
c++;
/*alert(a);*/
}
}
if(a.length==0)
{
alert(“請選擇”);
}
else
{
var ss=confirm(“確定刪除?”);
if(ss==true)
{
location.href=”shanchu.php?id=”+a;
}
}
}
/SCRIPT
input type=”checkbox” name=”qx[]” onclick=”quan();”font size=”2″全選/font
a href=”javascript:xuan()”選擇刪除/a
TABLE
TR
TD INPUT TYPE=”checkbox” NAME=”quanxuan[]” value=”1″/TD
TDa/TD
/TR
TR
TD INPUT TYPE=”checkbox” NAME=”quanxuan[]” value=”2″/TD
TDb/TD
/TR
TR
TD INPUT TYPE=”checkbox” NAME=”quanxuan[]” value=”3″/TD
TDc/TD
/TR
TR
TD INPUT TYPE=”checkbox” NAME=”quanxuan[]” value=”4″/TD
TDd/TD
/TR
TR
TD INPUT TYPE=”checkbox” NAME=”quanxuan[]” value=”5″/TD
TDe/TD
/TR
/TABLE
傳值以後 在PHP頁 接值 $zhi=$_GET[“a”]; 然後把 $zhi 拆分成數組
$zhi=explode(‘,’,$zhi);
在循環刪除就可以
for($i=0;$icount($idd);$i++)
{
$con-query(“delete from 表名 where ajbg_bh=’$zhi[$i]'”);
}
剛學php 後台批量刪除問題
?php
if ( $_GET[‘xzdel’] == 1 ) { //這裡要使用比較運算符 == , 而不是賦值運算符 =
$N_ID = join(‘,’, $_POST[‘BoxUser’] ); //$_POST本身是一個數組, 要達到批量刪除的話, 這裡應該要將BoxUser已數組形式提交, 那麼,這個時候就是個二維數組, 那麼$_POST[‘BoxUser’]得到的還是一個數組, 那麼,為了適應sql語句的語法, 把數組轉換成以逗號為分隔符的字元串, 因為sql語句的in關鍵詞只能接受如 1, 2, 3這樣的參數,不能直接接受數組, mysql沒有數組的概念
if ( $db – delete( ‘t_nws’, ‘where n_id in(‘ . $N_ID . ‘)’ ) ) {
alert(‘刪除成功’, ‘new_list.php’);
die;
} else {
echo $sql;
}
}
以上是php部分,其他部分有空給你研究研究
表單部分:
input name=’BoxUser’ type=’checkbox’ value='”.$row[‘n_id’].”‘
這個name屬性,要以數組的形式進行提交, 這樣, php才會將你勾選的所有參數給提交
否則php只能接收到其中的一條
那麼,應該改成
input name=’BoxUser[]’ type=’checkbox’ value='”.$row[‘n_id’].”‘
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/192866.html