Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP MySQL Hàm Delete trong vòng lặp while

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chỉ đặt current_timestamp khi chèn hàng mới

  2. Xây dựng lại MySQL 8.0 Replication Slave bằng cách sử dụng một plugin nhân bản

  3. Tạo đối tượng ActionScript Date từ chuỗi dấu thời gian MySQL UTC

  4. MySQL Insert:Thử nghiệm trước?

  5. Hibernate không tạo thác