0
点赞
收藏
分享

微信扫一扫

PHP实现批量删除(封装)

前台

<!DOCTYPE html>
<html>
<head>
    <title>批量删除</title>
</head>
<body>
<script type="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(var i=0;i<ck.length;i++)
      {
         ck[i].removeAttribute("checked");
      }
   }
}
</script>

<form action="test.php" method="post">
<table border="1">
    <tr><th><input type="checkbox" name="all" onclick="checkall(this)"/>id</th><th>名字</th></tr>

<!-- 此处调用显示列表函数 -->
<?php show() ?>

<tr><td colspan="3"><input type="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>
             <input type='checkbox' value='{$row[0]}' name='item[]' class='ck' />
             {$row[0]}
          </td>
            <td>{$row[1]}</td>
        </tr>";
       }
    }
?>
</html>

后台

<?php 

//接收post传来的数组
$arr = $_POST["item"];

/**
* 批量删除 
* 思路:把前台批量选择的数据放在数组里,删除该数组即可 
* @param $arr <array()>  
* @return $res  成功or失败
*/
function batch_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);

 

——现在的努力,只为小时候吹过的牛逼! ——



举报

相关推荐

0 条评论