È necessario informare lo script PHP che si desidera eliminare il record. Una soluzione sarebbe utilizzare un input nascosto che viene impostato quando chiami removeRow, ad esempio
function removeRow(el) {
// get the table row
var row = $(el).parents('tr:first');
// disable the input fields for the row
$('input', row).attr('disabled', 'disabled');
// rename update_id to delete_id and re-enable the field
$('input[name="update_id[]"]', row).attr('name', 'delete_id[]').removeAttr('disabled');
// hide the row
row.hide();
}
Questo metodo non rimuove più la riga della tabella dal DOM. Tuttavia, disabiliterà i campi di input contenuti nella riga e aggiungerà un input nascosto con il nome beskrivelse_delete
.
Quando il modulo viene inviato, il tuo PHP avrà ora un modo per sapere quali record devono essere eliminati.
foreach ($_POST['delete_id'] as $deleteId) {
$deleteId = (int)$deleteId;
$db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}
Aggiornamento:ho creato un phpfiddle che ha alcuni miglioramenti che potresti voler conoscere. Questi punti includono:
- Supporto dell'eliminazione quando JavaScript non è abilitato
- Utilizzo di dichiarazioni preparate
(preferito a
add_slashes
) - Escape dell'output utilizzando htmlspecialchars
- Definizione esplicita degli ID di input per evitare indovinare basato su un contatore incrementale