对数据库的数据进行管理过程中,如果要删除的数据非常多,执行单条删除数据的操作就不适合了,这时应该使用批量删除数据来实现数据库中信息的删除。通过数据的批量删除可以快速地删除多条数据,以减少操作执行的时间。
下面批量清理新闻信息表中陈旧的新闻信息。
具体步骤如下:
(1)创建数据库连接文件conn.php,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8" />
<title></title>
</head>
<body>
<?php
$conn=mysql_connect("localhost","root","111"); //连接数据库服务器
mysql_select_db("db_database08",$conn); //连接db_database08数据库
mysql_query("set names utf8"); //设置数据库编码格式
?>
</body>
</html>
(2)创建index.php文件,显示所有新闻信息,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" name="form1" method="post" action="index_ok.php">
<?php
include("conn.php");
$arr=mysql_query("select * from tb_news",$conn); //查询数据
/*使用while语句循环mysql_fetch_array()函数返回的数组*/
while($result=mysql_fetch_array($arr)){
?>
<p>
<input type="checkbox" name="checkbox[]" value="<?php echo $result['id'];?>" />
</p>
<p>
<?php echo $result['name'];?>
</p>
<p>
<?php echo $result['news'];?>
</p>
<?php
} //结束while循环
?>
<p>
<input name="submit" type="submit" value="删除" />
</p>
</form>
</body>
</html>
(3)创建index_ok.php文件,显示要编辑的新闻内容,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8" />
<title></title>
</head>
<body>
<?php
include("conn.php"); //包含conn.php文件
if(isset($_POST['submit'])and $_POST['submit']=="删除" and $_POST['checkbox']!=""){
//判断是否执行删除操作
for($i=0;$i<count($_POST['checkbox']);$i++){ //遍历复选框获取到的新闻id序号
$sql=mysql_query("delete from tb_news where id='".$_POST['checkbox'][$i]."'",$conn);
//执行删除操作
}
if($sql){
echo "<script>alert('删除成功!');window.location.href='index.php'</script>";
}else{
echo "<script>alert('删除失败!');window.location.href='index.php'</script>";
}
}else{
echo "<script>alert('请选择要删除的内容!');window.location.href='index.php'</script>";
}
?>
</body>
</html>