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部分---对数据的多条件查询,批量删除的主要内容,如果未能解决你的问题,请参考以下文章

php批量删除

php中的多条件查询

php中的多条件查询

5月21 汽车查询及批量删除----php方法

ES:多值(in)查询和条件批量删除

3-使用MyBatis实现CRUD