我相信很多朋友還不知道如何來批量刪除不要的數據,單使用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>"); //開源代碼Vevb.com
- }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 '刪除失敗';
- }
- }
- }
- ?>
新聞熱點
疑難解答