很多站长朋友们都不太清楚php批量删除逻辑,今天小编就来给大家整理php批量删除逻辑,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 [php]后台批量删除怎么写啊,逻辑部分 2、 PHP 批量删除 3、 PHP怎么实现批量删除 实现批量删除的代码 [php]后台批量删除怎么写啊,逻辑部分<?php
if($action=='del'){
print_r($idarray);
exit;
}
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
function checkall(form, prefix, checkall) {
var checkall = checkall ? checkall : 'chkall';
for(var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if(e.name e.name != checkall (!prefix || (prefix e.name.match(prefix)))) {
e.checked = form.elements[checkall].checked;
}
}
}
//-->
</SCRIPT>
<form method="post" name="form1" action="index.php?action=del">
<input type="checkbox" name="chkall" onclick="checkall(this.form, 'idarray')" class="checkbox">全选删除<br>
<?php
for($i=0;$i<=10;$i++){
echo "<input type=\"checkbox\" name=\"idarray[]\" value=\"$i\" class=\"checkbox\"></br>";
}
?>
<input type="hidden" name="f_del" >
<input class="button" type="button" name="f_del_button" onclick="javascript:if(window.confirm('确实要删除所选中标题吗?')){ form1.f_del.value='f_del';form1.submit();}else return; " value="删除">
</form>
PHP 批量删除问题很大,
首先,act==delAll是怎么来的?还有$id=implode('ID')这也是错误的,$id的值是怎么来的?何况implode()函数是将字符串打散为数组,他有2个参数,第一个是标记符(也就是按照什么来打散数组),第二个是要打散的字符串。
其实,你复选框有多个,那就要用for循环依次获取他的值,拼接成一个字符串。
给你一个我做是实例,你按照这个参考一下:
<?php
include_once 'include/confing.php';//引入数据库操作类
$alldel=$date->ps('alldel');//post方式获得隐藏域alldel的值
if($date->is($alldel)){//如果alldel的值为真(依次来判断表单是否提交,因为我这php逻辑代码和html是在同一个页面,判断一下有必要)
$ids='';//初始$ids的值为空
for($i=0;$i<count($_POST['checks']);$i++){//根据页面有多少个复选框进行for循环
$s=$_POST['checks'][$i];//依次取得复选框的值
$ids.=$s.',';//拼接成字符串并在后面加上一个英文半角的逗号
}
$ids=substr($ids,0,strlen($ids)-1);//因为拼接出来的字符串,最后会多出一个逗号,所以用substr函数将他去掉
$del_sql="Delete from websehzhi where tid in ($ids)";//构建sql删除语句
if($date->del_query($del_sql)){//如果sql语句执行成功
$date->msmdurl('成功删除选中记录','?page='.$date->gt('page'));//成功提示并跳转到指定url
}else{//否则
$date->msmdurl('删除失败,您未选中要删除的记录','?page='.$date->gt('page'//失败提示并跳转到指定url));
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>批量删除</title>
</head>
<body>
<form method="post" name="form" id="form">
<input type="checkbox" name="checks[]" value="35" />这是第十条数据<br/>
<input type="checkbox" name="checks[]" value="34" />这是第九条数据<br/>
<input type="checkbox" name="checks[]" value="33" />这是第八条数据<br/>
<input type="checkbox" name="checks[]" value="32" />这是第七条数据<br/>
<input type="checkbox" name="checks[]" value="31" />这是第六条数据<br/>
<input type="checkbox" name="checks[]" value="30" />这是第五条数据<br/>
<input type="checkbox" name="checks[]" value="29" />这是第四条数据<br/>
<input type="checkbox" name="checks[]" value="28" />这是第三条数据<br/>
<input type="checkbox" name="checks[]" value="27" />这是第二条数据<br/>
<input type="checkbox" name="checks[]" value="26" />这是第一条数据<br/>
<input type="hidden" name="alldel" value="1" />
<button type="submit">批量删除</button>
</form>
</body>
</html>
我这里是使用了面对对象,你不要管我的类对象代码,反正原理都差不多!
你也可以使用面对过程,都差不多!
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;i<ck.length;i++)
{
ck[i].setAttribute("checked","checked");
}
}
else
{
for(vari=0;i<ck.length;i++)
{
ck[i].removeAttribute("checked");
}
}
}
</script>
<formaction="test.php"method="post">
<tableborder="1">
<tr><th><inputtype="checkbox"name="all"onclick="checkall(this)"/>id</th><th>名字</th></tr>
<!-- 此处调用显示列表函数 -->
<?phpshow() ?>
<tr><tdcolspan="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批量删除逻辑的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php批量删除逻辑 php多选删除的详细内容...