批量和指定刪除用戶
判斷是單選還是多選刪除
#1.??? 單行是透過(guò)get傳參的方式寫(xiě)在delete.php檔案中對(duì)應(yīng)的ID。
2.??? 而多重刪除是透過(guò)POST的方式傳遞對(duì)應(yīng)的ID到delete.php頁(yè)面。
3.??? 如果這兩個(gè)都不符合的話,那我們可以視為資料不合法。
if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '數(shù)據(jù)不合法'; exit; }
組合SQL語(yǔ)句
我們之前給大家在MySQL這一章時(shí)講解過(guò)刪除時(shí)可以使用到in的子語(yǔ)句。
同樣在這裡,我們就可以用in的子語(yǔ)句來(lái)達(dá)到效果。
join函數(shù)將多選刪除傳過(guò)來(lái)的id變成3,4,5的格式,最後多選刪除的SQL語(yǔ)句執(zhí)行出來(lái)的效果就是:
delete from user where id in(3,4,5,6,8);
而單選刪除的語(yǔ)句效果就是:
delete from user where id in(3)
這樣我們就實(shí)現(xiàn)了單選和多選自適應(yīng)效果。
$sql = "delete from user where id in($id)";
最終配對(duì)而成的整體程式碼示範(fàn)如下:
<?php include 'connection.php'; if (is_array($_POST['id'])) { $id = join(',', $_POST['id']); } elseif (is_numeric($_GET['id'])) { $id = (int) $_GET['id']; } else { echo '數(shù)據(jù)不合法'; exit; } $sql = "delete from user where id in($id)"; $result = mysqli_query($conn, $sql); if ($result) { echo '刪除成功'; } else { echo '刪除失敗'; }