Mysql
 sql >> Database >  >> RDS >> Mysql

Eliminare più righe con PDO e caselle di controllo utilizzando istruzioni preparate?

Stai assegnando lo stesso name="deletetask" per ogni casella di controllo. Quindi, quando invii il modulo, ricevi solo l'ultimo deletetask selezionato valore. Quindi, il tuo errore è qui

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

Dovrebbe essere

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

Quindi devi rinominare deletetask per deletetask[] quindi le tue caselle di controllo vengono inviate come un array e quindi fai qualcosa del tipo

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