?php
石嘴山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
//先構(gòu)造SQL語句
$SQL="DELETE?FROM?a?WHERE?b='123'";//刪除a表中所有b字段值為123的記錄
$ALL="DELETE?FROM?a";//刪除a表中所有記錄
$ALL2="TRUNCATE?a";//刪除a表中所有記錄,(推薦使用)
//使用mysql_query命令執(zhí)行SQL語句,如:
mysql_query($SQL);
sample?code:
?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");?
}?
?
操作步驟如下:
進入phpmyadmin;
選擇要操作的數(shù)據(jù)庫;如下圖:
點擊刪除按鈕;如下圖:
點擊確定按鈕;如下圖:
數(shù)據(jù)庫刪除成功!
或者點擊SQL選項卡,輸入刪除命令,點擊執(zhí)行按鈕即可刪除數(shù)據(jù)庫。如下示例:
1.前臺
!DOCTYPE html
html
head
title批量刪除/title
/head
body
scripttype="text/javascript"
//復(fù)選框
function checkall(all)
{
var ck = document.getElementsByClassName("ck");
if(all.checked)
{
for(var i=0;ick.length;i++)
{
ck[i].setAttribute("checked","checked");
}
}
else
{
for(vari=0;ick.length;i++)
{
ck[i].removeAttribute("checked");
}
}
}
/script
formaction="test.php"method="post"
tableborder="1"
trthinputtype="checkbox"name="all"onclick="checkall(this)"/id/thth名字/th/tr
!-- 此處調(diào)用顯示列表函數(shù) --
?phpshow() ?
trtdcolspan="3"inputtype="submit"value="批量刪除"/td/tr
/table
/form
/body
?php
//顯示列表
function show()
{
//連接數(shù)據(jù)庫
@mysql_connect('localhost','root','');
mysql_select_db('test');
mysql_query('set names utf8');
$sql="select id,name from test";
$res=mysql_query($sql);
//循環(huán)取出數(shù)據(jù)
while($row=mysql_fetch_row($res))
{
echo "tr
td
inputtype='checkbox'value='{$row[0]}'name='item[]'class='ck'/
{$row[0]}
/td
td{$row[1]}/td
/tr";
}
}
?
/html
2.后臺
?php
//接收post傳來的數(shù)組
$arr=$_POST["item"];
/**
* 批量刪除
* 思路:把前臺批量選擇的數(shù)據(jù)放在數(shù)組里,刪除該數(shù)組即可
* @param $arr
* @return $res 成功or失敗
*/
functionbatch_del($arr)
{
@mysql_connect('localhost','root','');
mysql_select_db('test');
mysql_query('set names utf8');
//把數(shù)組元素組合為字符串:
$str= implode("','",$arr);
//in 表示多個
$sql="delete from test where id in('{$str}')";
$res= mysql_query($sql);
if(!$res){
echo"刪除失敗";
}else{
if(mysql_affected_rows()0){
echo"刪除成功";
}else{
echo"沒有行受到影響";
}
}
}
//調(diào)用批量刪除函數(shù)
batch_del($arr);
問題很大,
首先,act==delAll是怎么來的?還有$id=implode('ID')這也是錯誤的,$id的值是怎么來的?何況implode()函數(shù)是將字符串打散為數(shù)組,他有2個參數(shù),第一個是標(biāo)記符(也就是按照什么來打散數(shù)組),第二個是要打散的字符串。
其實,你復(fù)選框有多個,那就要用for循環(huán)依次獲取他的值,拼接成一個字符串。
給你一個我做是實例,你按照這個參考一下:
?php
include_once 'include/confing.php';//引入數(shù)據(jù)庫操作類
$alldel=$date-ps('alldel');//post方式獲得隱藏域alldel的值
if($date-is($alldel)){//如果alldel的值為真(依次來判斷表單是否提交,因為我這php邏輯代碼和html是在同一個頁面,判斷一下有必要)
$ids='';//初始$ids的值為空
for($i=0;$icount($_POST['checks']);$i++){//根據(jù)頁面有多少個復(fù)選框進行for循環(huán)
$s=$_POST['checks'][$i];//依次取得復(fù)選框的值
$ids.=$s.',';//拼接成字符串并在后面加上一個英文半角的逗號
}
$ids=substr($ids,0,strlen($ids)-1);//因為拼接出來的字符串,最后會多出一個逗號,所以用substr函數(shù)將他去掉
$del_sql="Delete from websehzhi where tid in ($ids)";//構(gòu)建sql刪除語句
if($date-del_query($del_sql)){//如果sql語句執(zhí)行成功
$date-msmdurl('成功刪除選中記錄','?page='.$date-gt('page'));//成功提示并跳轉(zhuǎn)到指定url
}else{//否則
$date-msmdurl('刪除失敗,您未選中要刪除的記錄','?page='.$date-gt('page'//失敗提示并跳轉(zhuǎn)到指定url));
}
}
?
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title批量刪除/title
/head
body
form method="post" name="form" id="form"
input type="checkbox" name="checks[]" value="35" /這是第十條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="34" /這是第九條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="33" /這是第八條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="32" /這是第七條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="31" /這是第六條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="30" /這是第五條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="29" /這是第四條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="28" /這是第三條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="27" /這是第二條數(shù)據(jù)br/
input type="checkbox" name="checks[]" value="26" /這是第一條數(shù)據(jù)br/
input type="hidden" name="alldel" value="1" /
button type="submit"批量刪除/button
/form
/body
/html
我這里是使用了面對對象,你不要管我的類對象代碼,反正原理都差不多!
你也可以使用面對過程,都差不多!
thinkphp5數(shù)據(jù)庫怎么批量刪除
// 以下方法供參考
$id = 3;
// 1、如果id是主鍵,且Mysql數(shù)據(jù)庫
$new -delete($id);
// 2、用表示篩選條件的數(shù)組$map
$map["id"]=$id;
$new -where($map)-delete();
// 3、如果id是主鍵
$new -delete($map);
// 4、直接用數(shù)組
$new -where(array("id"=$id))-delete();
// 5、刪除多條1,3,5,6,8
$ids = array(1,3,5,6,8);
$maps["id"] = array("in",$ids); // 或者 $maps["id"] = array("in","1,3,5,6,8");
$new -where($maps)-delete();