本文目录一览:
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']."'