用checkbox一次性删除多条记录
答一朋友问题:如何一次性删除多条记录。
一个简单示例
现有一个学生信息数据库,需要一次性删除多条记录
创建一个名为del.php的文件
代码如下:
1 <form action="sc.php" method=post>
2 <table border=1 width=60% align=center>
3 <caption>学生信息表</caption>
4 <th>选项</th><th>学号</th><th>姓名< /th><th>性别</th><th>电话</th>
5 <?php
6 $link=mysql_connect("localhost","root","");
7 mysql_select_db("zs");
8 $exec="select * from student";
9 $result=mysql_query($exec);
10 while($rs=mysql_fetch_object($result))
11 {
12 $id=$rs->sID;
13 $name=$rs->sName;
14 $sex=$rs->sSex;
15 $phone=$rs->sPhone;
16 ?>
17 <tr>
18 <td> <input type=checkbox name=de[] value=<?php echo $id?>></td><td><?php echo $id?></td><td><?php echo $name?></td><td><?php echo $sex?></td><td><?php echo $phone?></td>
19 </tr>
20
21 <?php
22 }
23 mysql_close();
24 ?>
25 </table>
26 <center><input type=submit value="删除"></center>
27 </form>
这个文件主要用来陈列数据库中的数据,并显示出来。
再建立一个名为sc.php的文件,其中代码如下:
<?php $link=mysql_connect("localhost","root",""); mysql_select_db("zs"); $id=$_POST['de']; foreach($id as $ide){ $exec="delete from student where sID=$ide"; $result=mysql_query($exec); if((mysql_affected_rows()==0) or (mysql_affected_rows==-1)) { echo "没有找到记录,或者删除时出错"; exit; } else{ echo "学生信息已经删除"; } } mysql_close(); ?> 用foreach的方式,分别将记录删除。