sql >> Databasteknik >  >> RDS >> Mysql

Ta bort flera rader med PDO och kryssrutor med förberedda uttalanden?

Du tilldelar samma name="deletetask" för varje kryssruta. Så när du skickar in ditt formulär får du bara senast valda deletetask värde. Så, ditt misstag är här

<input class="checkbox" name="deletetask" value=

Borde vara

<input class="checkbox" name="deletetask[]" value=

Så du måste byta namn på deletetask till deletetask[] så dina kryssrutor skickas som en array och gör sedan något liknande

$todelete = $_POST['deletetask']; 
//or $_GET, if you are submitting form through get. But I would recommend you using POST
$stmt = $pdo->prepare("DELETE FROM table WHERE id = ?");
foreach ($todelete as $id)
    $stmt->execute($id);


  1. radera en post från två tabeller i php/mysql

  2. MySQL-alias för SELECT *-kolumner

  3. Hur kan jag kontrollera MySQL-motortypen för en specifik tabell?

  4. Konvertering av MySQL-resultat till kommaseparerade värden