Debe informar al script PHP que desea eliminar el registro. Una solución sería usar una entrada oculta que se establece cuando llama a removeRow, por ejemplo,
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();
}
Este método ya no elimina la fila de la tabla del DOM. Sin embargo, deshabilitará los campos de entrada contenidos en la fila y agregará una entrada oculta con el nombre beskrivelse_delete
.
Cuando se envíe el formulario, su PHP ahora tendrá una forma de saber qué registros deben eliminarse.
foreach ($_POST['delete_id'] as $deleteId) {
$deleteId = (int)$deleteId;
$db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}
Actualización:he creado un phpfiddle que tiene algunas mejoras que tal vez desee conocer. Estos puntos incluyen:
- Admite la eliminación cuando JavaScript no está habilitado
- Uso de declaraciones preparadas
(preferido a
add_slashes
) - Escape de la salida usando htmlspecialchars
- Definir explícitamente ID de entrada para evitar adivinar basado en un contador incremental