sql >> Databáze >  >> RDS >> Mysql

PHP MySQL Delete funkce ve smyčce while

Musíte informovat PHP skript, že chcete záznam smazat. Jedním z řešení by bylo použití skrytého vstupu, který se nastaví, když zavoláte removeRow, např.

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

Tato metoda již neodstraňuje řádek tabulky z DOM. Zakáže však vstupní pole obsažená v řádku a přidá skrytý vstup s názvem beskrivelse_delete .

Když je formulář odeslán, vaše PHP bude mít nyní způsob, jak zjistit, které záznamy je třeba smazat.

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

Aktualizace:Vytvořil jsem phpfiddle který má některá vylepšení, o kterých se možná budete chtít dozvědět. Mezi tyto body patří:

  • Podpora smazání tam, kde není povolen JavaScript
  • Pomocí připravených výpisů (preferováno add_slashes )
  • Escapování výstupu pomocí htmlspecialchars
  • Explicitní definování vstupních ID, abyste se vyhnuli hádání na základě přírůstkového počítadla



  1. Jak vypočítat konverzní poměr v MySQL?

  2. Získejte localhost spuštěný na mac OS X Yosemite

  3. Jednořádkové funkce v Oracle sql

  4. Zvýrazněte hledaný text v mysql php vyhledávání