我相信很多朋友还不知道如何来批量删除不要的数据,单使用php 批量删除数据我们需要结合mysql的in条件来实现了,这个估计大家看了这句话就明白如何做了,下面我就来给需要了解的朋友详细分析批量删除数据过程.
我们删除需要的sql语法:
delete from aaaa where id in(1,2,3)这里面的1,2,3就是我们需要删除的记录了
那么在php中如何来做.
1、首先在文章列表页面(list.php),将多选筐命名为:“$del_id[]”,值为文章ID号.
例如(list.php),代码如下:
- <form name="del_form" action="del.php" method="post">
- <?php
- $result=mysql_query("select * from news");
- while($rs=mysql_fetch_array($result)){
- ?>
- <input name="del_id[]" type="checkbox" id="del_id[]" value="<?=$rs[id]?>" /><?=$rs[title]?>
- <?php
- }
- ?>
- </form>
2、处理页面,del.php代码如下:
- <?php
- if($del_id!=""){
- $del_num=count($del_id);
- for($i=0;$i<$del_num;$i++){
- mysql_query("Delete from news where id='$del_id[$i]'");
- }
- echo("<script type='text/javascript'>alert('删除成功!');history.back();</script>");
- }else{
- echo("<script type='text/javascript'>alert('请先选择项目!');history.back();</script>");
- }
- ?>
案例分析:
上面批量核心代码是 表单名为del_id[],代码如下:
- for($i=0;$i<$del_num;$i++){
- mysql_query("Delete from news where id='$del_id[$i]'");
- }
这个就是获取提交过来的数组然后我们再遍历一条条删除了这个与我们最前面的说法更小一样,其实我们可以加地改进,代码如下:
- $ids = implode(',',$_POST['del_id']);
- $sql ="delete from aaaa where id in($ids)";
- mysql_query($Sql);
这样就可以简少很多的语句,当然上面需要判断提交过来的是不是数组了,最后我们对del.php文件进行代码优化删除操作,代码如下:
- <?php
- if(is_array($del_id)){
-
- $ids = implode(',',$_POST['del_id']);
- $sql ="delete from aaaa where id in($ids)";
- if( mysql_query($Sql))
- {
- echo '删除成功';
- }
- else
- {
- echo '删除失败';
- }
- }
-
-
- }
- ?>
|