Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer plusieurs lignes avec PDO et cases à cocher à l'aide d'instructions préparées ?

Vous affectez le même name="deletetask" pour chaque case à cocher. Ainsi, lorsque vous soumettez votre formulaire, vous ne recevez que la dernière deletetask sélectionnée évaluer. Donc, votre erreur est ici

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

Devrait être

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

Vous devez donc renommer deletetask pour deletetask[] donc vos cases à cocher sont envoyées sous forme de tableau et faites quelque chose comme

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