Bạn cần thông báo cho tập lệnh PHP rằng bạn muốn xóa bản ghi. Một giải pháp sẽ là sử dụng đầu vào ẩn được đặt khi bạn gọi removeRow, ví dụ:
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();
}
Phương pháp này không còn xóa hàng của bảng khỏi DOM. Tuy nhiên, nó sẽ vô hiệu hóa các trường nhập có trong hàng và thêm một đầu vào ẩn với tên beskrivelse_delete
.
Khi biểu mẫu được gửi, PHP của bạn bây giờ sẽ có cách để biết bản ghi nào cần được xóa.
foreach ($_POST['delete_id'] as $deleteId) {
$deleteId = (int)$deleteId;
$db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}
Cập nhật:Tôi đã tạo một phpfiddle có một số cải tiến mà bạn có thể muốn tìm hiểu. Những điểm này bao gồm:
- Hỗ trợ xóa khi JavaScript không được bật
- Sử dụng báo cáo đã chuẩn bị sẵn
(ưu tiên cho
add_slashes
) - Thoát đầu ra bằng cách sử dụng htmlspecialchars
- Xác định rõ ràng id đầu vào để tránh phỏng đoán dựa trên bộ đếm tăng dần