php部分---对数据的多条件查询,批量删除
Posted 业务高于技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php部分---对数据的多条件查询,批量删除相关的知识,希望对你有一定的参考价值。
1.给多条件查询,添加条件
<h1>新闻信息查看</h1> <?php $tiaojian1=" 1=1"; $tiaojian2=" 1=1"; $title=""; //为了下面foreach中能够取到这个变量,所以在外边定义一下。 $author=""; if(!empty($_POST[\'title\'])) { $title=$_POST[\'title\']; $tiaojian1=" title like \'%{$title}%\'"; } /*else { echo "<script> alert(\'请输入\');</script>"; //如果输入的是空,可以做一个弹窗进行提示 }*/ if(!empty($_POST[\'author\'])) { $author=$_POST[\'author\']; $tiaojian2=" author like \'%{$author}%\'"; } ?>
2.创建表单
<div><form action="" method="post">标题:<input type="text" name="title" value="<?php echo $title; ?>"> 作者:<input type="text" name="author" value="<?php echo $author; ?>"> <!--输入关键字后文本框中,需要给文本框添加一个value值,value="<?php echo $title; ?>"--> <input type="submit" value="查询"></form><form action="fabu.php"> <input type="submit" value="添加新闻"> </form> </div>
3.创建显示区域
<form action="piliangshanchu.php" method="post"> <table width="95%" border="1" cellpadding="0" cellspacing="0" align="center"> <tr> <td><input type="checkbox" onclick="quanxuan(this)">标题</td> <!--在标题栏添加一个复选框--> <td>作者</td> <td>来源</td> <td>内容</td> <td>发布时间</td> <td>删除</td> <td>修改</td> </tr> <?php $db=new mysqli("localhost","root","123","test1"); mysqli_connect_error()?"连接失败":""; $sql="select * from news where {$tiaojian1} and {$tiaojian2}"; echo $sql; //输出语句看看结果 $result=$db->query($sql); $attr=$result->fetch_all(); foreach($attr as $v) { /*$str=str_replace($title,"<mark>{$title}</mark>",$v[1]); //str_replace进行替换,添加mark标签,对关键字进行特殊显示*/ $str=str_replace($title,"<span style=\'color:red;\'>{$title}</span>",$v[1]); //还可以通过添加<span>标签,改span的color echo "<tr><td><input type=\'checkbox\' value=\'{$v[0]}\' name=\'sc[]\' class=\'xuanzhong\'/>{$str}</td><td>{$v[2]}</td><td>{$v[3]}</td><td>{$v[4]}</td><td>{$v[5]}</td><td><a href=\'shanchu.php?ids={$v[0]}\' onclick=\\"return confirm(\'确认删除嘛\')\\">删除</a></td><td><a href=\'xiugai.php?ids={$v[0]}\'>修改</a></td></tr>"; //重点:进行复选框多选时候,name的值要用sc[]数组接收 } ?> </table> <div><input type="submit" value="批量删除"></div> </form>
4.通过标题栏的复选框状态,对下面的复选框进行多选,用js
<script type="text/javascript"> function quanxuan(a) { var ck=document.getElementsByClassName("xuanzhong"); for(var i=0;i<ck.length;i++) { if(a.checked) //判断a的选中状态 { ck[i].setAttribute("checked","checked");//设置添加属性 } else { ck[i].removeAttribute("checked");//移除属性 } } } </script>
5.批量删除的处理界面
<?php if(!empty($_POST[\'sc\'])) //通过上面复选框的选中值,进行提取,提取出来是数组的形式 { $attr=$_POST[\'sc\']; //放到一个数组中 $db=new MySQLi("localhost","root","123","test1"); mysqli_connect_error()?"连接失败":""; /*foreach($attr as $v) { $sql="delete from news where ids=\'{$v}\'"; if($result=$db->query($sql)) { header("location:main.php"); } else { echo "删除失败"; } }*/ $atr=implode("\',\'",$attr); //通过implode函数,把数组合并成一个字符串,为下面的sql语句形成条件语句 条件语句in(\'\',\'\',\'\',\'\')这样的形式 $sql="delete from news where ids in(\'{$atr}\')"; if($result=$db->query($sql)) { header("location:main.php"); } else { echo "删除失败"; } }
以上是关于php部分---对数据的多条件查询,批量删除的主要内容,如果未能解决你的问题,请参考以下文章