Трябва да информирате PHP скрипта, че искате да изтриете записа. Едно решение би било да използвате скрит вход, който се задава, когато извикате removeRow, напр.
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();
}
Този метод вече не премахва реда на таблицата от DOM. Той обаче ще деактивира полетата за въвеждане, съдържащи се в реда и ще добави скрит вход с името beskrivelse_delete
.
Когато формулярът бъде изпратен, вашият PHP вече ще има начин да знае кои записи трябва да бъдат изтрити.
foreach ($_POST['delete_id'] as $deleteId) {
$deleteId = (int)$deleteId;
$db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}
Актуализация:Създадох phpfiddle който има някои подобрения, за които може да искате да научите. Тези точки включват:
- Поддържа изтриване, когато JavaScript не е активиран
- Използване на подготвени отчети
(за предпочитане пред
add_slashes
) - Извеждане на изход чрез използване на htmlspecialchars
- Изрично дефиниране на входни идентификатори, за да се избегне отгатване въз основа на инкрементален брояч