Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Função de exclusão do PHP MySQL no loop while


Você precisa informar ao script PHP que deseja deletar o registro. Uma solução seria usar uma entrada oculta que é definida quando você chama removeRow, por exemplo.
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();
}

Este método não remove mais a linha da tabela do DOM. No entanto, ele desabilitará os campos de entrada contidos na linha e adicionará uma entrada oculta com o nome beskrivelse_delete .

Quando o formulário for enviado, seu PHP agora terá uma maneira de saber quais registros precisam ser excluídos.
foreach ($_POST['delete_id'] as $deleteId) {
    $deleteId = (int)$deleteId;
    $db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
}

Atualização:criei um phpfiddle que tem algumas melhorias que você pode querer aprender. Esses pontos incluem:
  • Suporte para exclusão onde o JavaScript não está ativado
  • Usando declarações preparadas (preferível a add_slashes )
  • Escape da saída usando htmlspecialchars
  • Definir explicitamente os IDs de entrada para evitar suposições baseado em um contador incremental