• php数据访问(批量删除)


    批量删除:

    首先给每一行加上复选框,也就是在自增长列内加入checkbox。因为这里可以多选,也可以单选,所以在传值的时候需要传一个数组来进行处理,所以复选框name的值设定一个数组。传值都是传的value值,so,value=索引0  。

    然后用<form>表单进行传值,在表单内添加一个提交按钮,点击提交之后,带着所选的值跳到处理界面。因为是数组,所以用表单括起来传value值(所被选中的主键值)

    <form action="plshanchu.php" method="post">
    
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td><input type="checkbox" onclick="quanxuan()" />newsid</td>
            <td>title</td>
            <td>author</td>
            <td>source</td>
            <td>content</td>
            <td>time</td>
            <td>update</td>
            <td>delete</td>
        </tr>
    
    <?php
    
    
    
        $db = new MySQLi("localhost","root","159357","newssystem");
        
        $sql = "select * from news where ".$tj." and ".$tj2;
        
        //echo $sql;
        
        $result = $db->query($sql);
        
        $attr = $result->fetch_all();
        
        foreach($attr as $v)
        {
            echo"<tr>";
            
            $newauthor = str_replace($zzz,"<mark>{$zzz}</mark>",$v[2]);
            echo "<td><input type='checkbox' name='sz[]' value='{$v[0]}' class='qx' />{$v[0]}</td>
                  <td>{$v[1]}</td>
                  <td>{$newauthor}</td>
                  <td>{$v[3]}</td>
                  <td>{$v[4]}</td>
                  <td>{$v[5]}</td>
                  <td><a href='xiugai.php?a={$v[0]}'>update</a></td>
                  <td><a href='shanchu.php?a={$v[0]}' onclick="return confirm('主人真的不要我了吗?')">delete</a></td>";
            
            echo"</tr>";
        }
    
    ?>
    
    </table>
    
    <input type="submit" value="批量删除" onclick="return confirm('真不要了吗?')" />
    
    </form>

    处理界面:

    因为传过来的是数组,所以要定义一个数组变量来进行接收。用if判断防止报错(因为直接取值取不到)。用foreach把取到的数组主键值交给一个变量V ,连接数据库,写sql语句(从news表中删除条件为选中的主键值),执行sql语句,跳转查看页面

    缺点:执行多次就要多次访问数据库。

    $attr=array();
    if(!empty($_POST["sz"]))
    {
        $attr = ($_POST["sz"]);
    }
    
    $db = new MySQLi("localhost","root","159357","newssystem");
    
    foreach($attr as $v)
    {
        
        $sql = "delete from news where newsid='{$v}'";
        
        $db->query($sql);
        
        header("location:chakan.php");
    }

    第二种方法:

    enplode:拆分字符串返回数组

    implode:将数组拼成字符串

    分割符','

    用implode方法,将取到的数组拼成字符串,放到一个变量里边。然后写sql语句(从news表中一次删除取到的字符串),返回chakan页面。

    $attr=array();
    if(!empty($_POST["sz"]))
    {
        $attr = ($_POST["sz"]);
    }
    
    $db = new MySQLi("localhost","root","159357","newssystem");
    
    foreach($attr as $v)
    {
            $atr = implode("','",$attr);
        
        $sql = "delete from news where newsid='{$atr}'";
        
        $db->query($sql);
        
        header("location:chakan.php");
    }
  • 相关阅读:
    【SCOI 2011】 糖果
    【POJ 3159】 Candies
    【POJ 1716】 Integer Intervals
    【POJ 2983】 Is the information reliable?
    【POJ 1364】 King
    【POJ 1201】 Intervals
    【POJ 1804】 Brainman
    6月10日省中提高组题解
    【POJ 3352】 Road Construction
    【POJ 1144】 Network
  • 原文地址:https://www.cnblogs.com/axj1993/p/6433650.html
Copyright © 2020-2023  润新知