Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Funkcja PHP MySQL Delete w pętli while

Musisz poinformować skrypt PHP, że chcesz usunąć rekord. Jednym z rozwiązań byłoby użycie ukrytych danych wejściowych, które są ustawiane po wywołaniu removeRow, np.

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();
}

Ta metoda nie usuwa już wiersza tabeli z DOM. Jednak wyłączy pola wejściowe zawarte w wierszu i doda ukryte dane wejściowe o nazwie beskrivelse_delete .

Kiedy formularz zostanie przesłany, Twój PHP będzie teraz wiedział, które rekordy należy usunąć.

foreach ($_POST['delete_id'] as $deleteId) {
    $deleteId = (int)$deleteId;
    $db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}

Aktualizacja:stworzyłem phpfiddle który zawiera pewne ulepszenia, o których możesz chcieć się dowiedzieć. Te punkty obejmują:

  • Obsługa usuwania, gdy JavaScript nie jest włączony
  • Korzystanie z przygotowanych wyciągów (preferowane do add_slashes )
  • Unikanie wyjścia przy użyciu htmlspecialchars
  • Jasne definiowanie identyfikatorów wejściowych, aby uniknąć zgadywania na podstawie licznika przyrostowego



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. błąd:nie można znaleźć php_pdo_driver.h podczas instalacji pdo_mysql

  2. MySQL InnoDB:autoinkrementacja klucza innego niż podstawowy

  3. Niestandardowa tabela Wordpress czy niestandardowe typy postów?

  4. MySQL średnia liczba godzin między utworzonymi datami i godzinami w określonym przedziale czasu

  5. Jak uporządkować i pogrupować wyniki MySQL