ホームページ > バックエンド開発 > PHPの問題 > PHPでテーブルの内容を一括削除する方法

PHPでテーブルの内容を一括削除する方法

藏色散人
リリース: 2023-03-12 20:02:02
オリジナル
1693 人が閲覧しました

php でテーブル内容を一括削除する方法: 1. 「list_pl.php」ファイルを作成; 2. 削除機能を実装する「shanchu.php」ファイルを作成; 3. 変更・更新ページを作成; 4.一括削除ページ「adminDel.php」を作成するだけです。

PHPでテーブルの内容を一括削除する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

PHP でテーブルの内容をバッチで削除するにはどうすればよいですか?

#php 操作フォームデータ [一括削除含む]

レンダリング:

##list_pl.php:

<?php

$con = mysqli_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;123456&#39;,&#39;test&#39;);
mysqli_set_charset($con,&#39;utf8&#39;);
if(!$con){
die(&#39;Could not connect:&#39; . mysql_error($con));
}
$sql = "select * from login";
$result = mysqli_query($con,$sql);
$rows = array();
while($row = mysqli_fetch_assoc($result)){
  $rows[] = $row; 
}  

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <html xmlns="http://www.w3.org/1999/xhtml">
  
 <head>  
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
   <title>无标题文档</title>
  <style>
      *{padding:0;margin:0;}
      .pd-lr{padding: 5px 20px}
  </style>
 </head>
 <body>
 <table width="100%" border="1" cellpadding="0" cellspacing="0">  
 <thead>
   <tr>  
     <td width="30">
        全选:<input id="checkAll" type="checkbox">
     </td>
     <td width="30">id</td>
     <td width="30">用户名</td>
     <td width="30">密码</td>
     <td width="30">邮箱</td>
     <td width="40">操作</td>    
     <td width="30">提交时间</td>    
   </tr>
</thead>
<tbody>
   <?php foreach($rows as $k => $v) {
     ?>
		<tr>
		 <td><input type="checkbox" name="box" value="<?= $v[&#39;id&#39;] ?>" class="checkOne"></td>
		 <td><?php echo $v[&#39;id&#39;];?></td>  
		 <td><?php echo $v[&#39;username&#39;];?></td>  
		 <td><?php echo $v[&#39;password&#39;];?></td> 
		 <td><?php echo $v[&#39;email&#39;];?></td>
		 <td>
		   <a href="javascript:confirm_delete(&#39;shanchu.php?sno=<?php echo $v[&#39;id&#39;];?>&#39;)">删除</a>
		   <a href=&#39;xiugai.php?sno=<?php echo $v[&#39;id&#39;];?>&#39;>修改</a> 
		 </td> 
		 <td><?php echo $v[&#39;CreateTime&#39;];?></td>
		</tr>
   <?php } ?>
  </tbody>
 </table>
 <p class="pd-lr">
 <button style="float:left;">批量删除</button>
 <!-- 数据表的总条数 -->
 <p style="float:right;display:inline-block;">总共<span><?php
        $sql2 = "SELECT COUNT(*) FROM login"; //获取某一张表的所有数据
        $all_value = $con->query($sql2);  
			while ($nums=$all_value->fetch_assoc()) {   //输出每一行数据 
			 echo ($nums[&#39;COUNT(*)&#39;]); //获取数据库总条数
            } ?></span>条</p>
 </p> 

 <script src="./jquery-3.2.1.min.js"></script>
 <script>
  //  单项删除
   function confirm_delete(url){
	  if(confirm(&#39;您确定要执行删除操作?&#39;)){
		window.location.href=url;
		}else{
			return false;
			}
	}
   // 全选,反选
$("#checkAll").on(&#39;change&#39;, function () {
    if ($(this).is(":checked")) { // 全选
        $(".checkOne").prop("checked",true);
    } else { // 反选
        $(".checkOne").prop("checked",false);
    }
});
// 批量删除
$(&#39;button&#39;).click(function(){
            var ids=$(&#39;.checkOne:checkbox&#39;);
            var str=&#39;&#39;;
            var count=0;
            for(var i=0;i<ids.length;i++){
                if(ids.eq(i).is(&#39;:checked&#39;)){
                    str+=&#39;,&#39;+ids.eq(i).val();
                    count++;
                }
            }
            var str=str.substr(1);
            if(confirm(&#39;你确定要删除这&#39;+count+&#39;条数据吗?&#39;)){
                //获取id后删除
                $.ajax({
                    type:&#39;GET&#39;,
                    url:&#39;adminDel.php&#39;,
                    // contentType: "application/json;charset=utf-8",
                    data:{&#39;str&#39;:str},
                    // dataType:&#39;json&#39;,//用get方法时不指定这项(可能是json数据不够严谨)
                    success:function(res){
                        if(res>0){
                            for(var i=ids.length-1;i>=0;i--){
                                if(ids.eq(i).is(&#39;:checked&#39;)){
                                    ids.eq(i).parent().parent().remove();
                                }
                            }
                        }
                        alert(&#39;删除成功!&#39;);
                        window.location.reload();
                    },
                    error:function(data){ 
                    console.log("数据加载失败",data); 
                } 
                })
            }
            return false;
        });
   
 </script>
 </body>
 </html>
ログイン後にコピー

shanchu.php (単一アイテムを削除する場合は、adminDel.php のパスを直接入力することもできます):

<?php
 
$aaa = $_GET ["sno"]; //删除方式使用的get,照旧
 
$db = new mysqli("localhost","root","123456","test");
 
$sql = "delete from login WHERE id=&#39;{$aaa}&#39;";
 
if($db->query($sql)){
    //  header("location:list.php");
    echo "<script>alert(&#39;删除成功!&#39;);window.location.href=&#39;list.php&#39;</script>" ;
}else{
    echo "删除失败";
}

?>
ログイン後にコピー

xiugai.php (ページの変更):

<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
  <title>无标题文档</title>
 
</head>
<body>
<h1>修改</h1>
 

<?php
 
$sno = $_GET{"sno"};
 
$db = new mysqli("localhost","root","123456","test");
 
$sql = "select * from login WHERE id=&#39;{$sno}&#39;";
 
$r = $db->query($sql);
 
$arr = $r->fetch_row();
 ?>

<form action="update.php" method="post">
<p>id:<input type="text" name="id" value="<?php echo $arr[0]; ?>"/></p>  
<p>用户名:<input type="text" name="username" value="<?php echo $arr[1]; ?>"/></p>  
<p>密码:<input type="text" name="password" value="<?php echo $arr[2]; ?>"/></p>  
<p>邮箱:<input type="text" name="email" value="<?php echo $arr[4]; ?>"/></p> 
</p>
  <p><input type="submit" value="修改完毕"/></p>
</form>

</body>
 
</html>
ログイン後にコピー

xiugai.php 更新ページは次のように記述することもできます:

<?php
 
//创建连接:四个参数分别为 服务器地址、用户名、密码、数据库名
$conn = mysqli_connect("localhost","root","123456","test");
$sno = $_GET{"sno"}; 
//查询数据的sql语句
$sql = "select * from login WHERE id=&#39;{$sno}&#39;";
 
//执行语句接收返回值
$result = mysqli_query($conn,$sql);
//输错查询的数据
while ($row = mysqli_fetch_array($result)){?>
<style type="text/css">
	.list{margin: 0 auto;}
	.list p{font-size: 1rem;padding: 5px 0;}
	.list p span{display: inline-block;width: 100px;}
	.list p input{padding: 5px 0;outline:none;border: 1px solid #ccc;border-radius: 4px;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;}
	.list p input:focus {border-color: #66afe9;outline: 0;-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);}
	.list .up_btn input{padding: 5px 10px;font-size: 1rem;border: 1px solid #2285ed;background-color: #FFF;}
	.list .up_btn input:hover{background-color: #2285ed;color: #fff;}
	.tran-b{-webkit-transition: all ease-out .5s;-o-transition: all ease-out .5s;transition: all ease-out .5s;}
</style>
<form action="./update.php" method="post" class="list">
	<p><span style="color: #2285ed;">id:<input type="hidden" value="<?php echo $row[&#39;id&#39;];?>" name="id" /><?php echo $row[&#39;id&#39;];?></span></p>
	<p><span>用户名:</span><input type="text" name="username" value="<?php echo $row[&#39;username&#39;];?>" /></p>
	<p><span>密码:</span><input type="text" name="password" value="<?php echo $row[&#39;password&#39;];?>" /></p>
	<p><span>邮箱:</span><input type="text" name="email" value="<?php echo $row[&#39;email&#39;];?>" /></p>
	</p>
	<p class="up_btn"><input type="submit" value="修改完毕" class="tran-b"/></p>
</form>
<?php }?>
ログイン後にコピー

update.php (更新ページ):

<?php
error_reporting(E_ALL ^ E_NOTICE);
$id = $_POST["id"];
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
 
$db = new mysqli("localhost","root","123456","test");
 
$sql = "update login set username=&#39;{$username}&#39;,password=&#39;{$password}&#39;,email=&#39;{$email}&#39; WHERE id=&#39;{$id}&#39;";

if($db->query($sql)){
    //  header("location:list.php");
    echo "<script>alert(&#39;修改成功!&#39;);window.location.href=&#39;list_pl.php&#39;</script>" ;
}else{
    echo "修改失败";
}     

?>
ログイン後にコピー

adminDel.php (一括削除ページ):

<?php  
error_reporting(E_ALL ^ E_NOTICE); 
    // header(&#39;content-type:text/html;charset=utf-8&#39;);
    // header(&#39;Content-type: application/json;charset=utf-8&#39;);
    $str=$_GET[&#39;str&#39;];
    // echo $str;
    $link = mysqli_connect( &#39;localhost&#39; , &#39;root&#39; , &#39;123456&#39; , &#39;test&#39; );
    // mysqli_query($link,&#39;set names utf8&#39;);   
    $sql=&#39;delete from login where id in (&#39;.$str.&#39;)&#39;;
    mysqli_query($link,$sql);
?>
ログイン後にコピー

発生した問題:

データ送信時に ajax がエラーを報告します。ローカルで実行しています。

参照: https://ask.csdn.net/questions/325174dataType:'json' , dataType:'text', に変更すると機能します。または、 dataType:'json' を削除します。 推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでテーブルの内容を一括削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート