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 "删除失败";
        }

}
原文地址:https://www.cnblogs.com/xingyue1988/p/6210165.html