表单提交多个选项用于删除或编辑

经常在网页中看到网页显示多个文件,提供各种操作,包括删除,冻结,移动,复制等,如果一次对每个文件进行相同的操作,比如删除,相当浪费时间,于是便出现了·一种叫“多选”的操作方式,在选定内容后进行操作,将大幅度提高效率。

实现代码如下:

我自己建立的数据库test包含UserID,UserName,UserStatus。

<!-- 数据库有UserID UserName UserStatus(0表示冻结,1表示正常) -->

/*accept.php*/

<!DOCTYPE html>
<html>
	<head>
	 	<meta charset="utf-8"> 
		<title></title>
		<?php
			include_once"Mysql.class.php";
			$mysql=new Mysql();
			$mysql->connect("localhost","root","root","test");
		?>
	</head>
	<body>
		<?php
			// $ID=$_POST["UserID"];//$ID存储的是一个数组
			// print_r($ID);
			if ($_POST['action']) {
				switch($_POST['action']){
					case '删除':
						$ID=$_POST["UserID"];
					    $result="-1";
					    foreach($ID as $i){
					      $result.= "," . $i ;
					    }
					    $sql="delete from users where UserID in (" . $result . ")";
					    $re=mysql_query($sql);
					    //var_dump($re);测试是否成功
					    header("location:submit_more.php");
						break;
					case '冻结':
						$ID=$_POST["UserID"];
					    $result="-1";
					    foreach($ID as $i){
					      $result.= "," . $i ;
					    }
					    $sql="update users set UserStatus=0 where UserID in (" . $result . ")";
					    $re=mysql_query($sql);
					    //var_dump($re);测试是否成功
					    header("location:submit_more.php");
						break;
					case '解冻':
						$ID=$_POST["UserID"];
					    $result="-1";
					    foreach($ID as $i){
					      $result.= "," . $i ;
					    }
					    $sql="update users set UserStatus=1 where UserID in (" . $result . ")";
					    $re=mysql_query($sql);
					    //var_dump($re);测试是否成功
					    header("location:submit_more.php");
						break;
				}
			}
			$mysql->close();
		?>
	</body>
</html>

 /*submit_more.php*/

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
		</script>
		<?php  
			mysql_connect("localhost","root","root");
			mysql_select_db("test");
			mysql_query("set names utf8");
			$sql="select * from users order by UserID";
			$result=mysql_query($sql);
		?>
		<!-- 数据库有UserID UserName UserStatus(0表示冻结,1表示正常) -->
	</head>
	<body>
		<form action="accept.php" method="post">
			<table border="1" cellspacing="0" align="center" width="400">
				<tr>
					<td>选定</td>
					<td>编号</td>
					<td>名称</td>
					<td>状态</td>
				</tr>
					<?php
						while($row=mysql_fetch_array($result)){
					?>
				<tr>
					<td><input type="checkbox" name="UserID[]" value="<?php echo $row['UserID']; ?>"></td>
					<td><?php echo $row['UserID']; ?></td>
					<td><?php echo $row['UserName']; ?></td>
					<td>
						<?php 
							if($row['UserStatus']==0){
								echo "<font color='red'>冻结</font>";
							}else {
								echo "正常";
							}
						?>
					</td>
				</tr>
					<?php
						}
						mysql_close();
					?>
				<tr>
					<td>
						<input 
					</td>
					<td colspan="4" align="center">
						<input type="submit" name="action"  value="删除">
						  
						<input type="submit" name="action"  value="冻结">
						  
						<input type="submit" name="action"  value="解冻">
						  
						<input type="reset" name="action" value="重置">
					</td>
				</tr>
			</table>	
		</form>
	</body>
</html>

 代码只给出了“提交选项”和“接收”,可以根据需求,将“提交”改为“删除“...并且在action目标文件中添加相关的代码,以实现需求

原文地址:https://www.cnblogs.com/-beyond/p/5688454.html