簡體   English   中英

使用PHP對mysql條目進行批量操作

[英]Bulk action using PHP for mysql entries

我們正在一個MySQL數據庫的表中顯示結果,其中帶有復選框。 如果用戶勾選5行並單擊刪除按鈕,我們如何同時刪除多行?

HTML:

<form method="post">

    <input type="checkbox" name="id[]" value="123" /> Element 1 <br/>
    <input type="checkbox" name="id[]" value="5434" /> Element 2 <br/>
    <input type="checkbox" name="id[]" value="24" /> Element 3 <br/>
    <input type="checkbox" name="id[]" value="76" /> Element 4 <br/>

    <input type="submit" value="delete" />

</form>

PHP:

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {

  $ids = array_walk($_POST['id'], 'intval');
  mysql_query('DELETE FROM table WHERE id IN (' . implode(',', $ids) . ')');

}

PS我要點!

我不會給您PHP代碼,但是構建這樣的SQL查詢將解決您的問題:

DELETE FROM foo WHERE id IN ( … );

有關詳細信息,請參見手冊

使用這樣的PDOStatement

$statement = "DELETE FROM table WHERE id = ?";
$conn = new PDO($dns,$user,$pass);
$conn->beginTransaction();
$query = $conn->prepare($statement);
foreach($params as $p){ //$params are your checked id's
    $query->bindParam(1,$p);
    if($query->execute()){
        echo "ok";
    }else{
        $conn->rollBack();
        exit("Error");
    }
}
$conn->commit();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM