sql >> Base de Datos >  >> RDS >> Mysql

¿Eliminar varias filas con PDO y casillas de verificación usando declaraciones preparadas?

Estás asignando el mismo name="deletetask" para cada casilla de verificación. Entonces, cuando envía su formulario, recibe solo la última deletetask seleccionada valor. Entonces, tu error está aquí

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

Debería ser

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

Por lo tanto, debe cambiar el nombre de deletetask para deletetask[] por lo que sus casillas de verificación se envían como una matriz y luego hacer algo como

$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);