Exclusão – Sistema de Cadastro com PHP + PDO e MySQL

Exclusão - Sistema de Cadastro com PHP + PDO e MySQLOlá pessoal, hoje vamos finalizar a série de posts sobre sistema de cadastro com PHP + PDO e MySQL, vou demonstrar como efetuar a exclusão de clientes cadastrados no banco de dados.

Nesse sistema quando excluirmos um cliente e o mesmo possuir uma foto gravada, será necessário excluir essa foto da pasta para manter a organização senão com o tempo teremos várias imagens sem “cliente” ocupando espaço no servidor.

Para construir a exclusão foi necessário adicionar mais uma função no script “custom.js” e mais uma condição para excluir no script “action_cliente.php“.

Outros posts que podem interessar:

Consulta – Sistema de Cadastro com PHP + PDO e MySQL

Inclusão – Sistema de Cadastro com PHP + PDO e MySQL

Edição – Sistema de Cadastro com PHP + PDO e MySQL

 

Vou postar o script do banco de dados como foi feito nos posts anteriores.

Script do Banco de Dados

Estrutura da tabela não foi alterada.

 

Script JavaScript para Validação, Máscaras, Load de Imagem

No script “custom.js” foi adicionado uma função “confirmaExclusao(id)” que será disparada sempre que for pressionado o link “Excluir”, esse evento foi atribuído via JavaScript “addEventListener()”.

Editado 21/11/2015: O loop para atribuição da função confirmaExclusao(id) ao evento “click” foi alterado, existe um problema quando atribuímos funções anônimas para eventos no javascript, para solucionar é necessário sempre trabalhar com funções nomeadas e ainda fazer um ajuste no escopo do contador “i” dentro do loop, mais detalhes nesse link.

Essa função exibe uma mensagem confirmando se o usuário deseja mesmo excluir esse cliente, poderíamos usar os “alerts()” do bootstrap mas seria necessário jQuery, mas nessa série de posts usamos somente JavaScript puro. 

Caso seja confirmada exclusão é criado um formulário dinamicamente no DOM com inputs contendo a ação “excluir” e o id do cliente que será excluído, capturo o id do cliente lendo o atributo “rel” do link “Excluir”, o formulário será enviado via POST para o script “action_cliente.php“.

Observem que seria mais prático enviar a ação e o id do cliente via GET no próprio link, mas no começo dessa série de posts já defini que o script “action_cliente.php” só receberia requisições via POST como uma das medidas de segurança.

 

Post relacionado:  Curso sobre PHP com PDO | Vídeos

Script PHP para Exclusão do Dados

Como já vem ocorrendo nos outros posts, adicionei a condição para verificar a ação solicitada “if ($acao == ‘excluir’):“, ação e o id do cliente estão sendo enviados via POST pelo formulário com JavaScript.

Com esses dados basta executar um SELECT na tabela de clientes para capturar o nome da foto, com isso podemos excluir se ela for diferente de “padrao.jpg“, pois não tem sentido excluir a foto padrão. Se o cliente possuir foto excluímos o arquivo da pasta e posteriormente executamos a instrução DELETE para exclusão do registro no banco de dados.

Foi usado o script de conexão PHP seguindo o padrão Singleton.

Após a confirmação da exclusão será exibida a mensagem de sucesso e após 3 segundos o usuário será redirecionado para página com a listagem de clientes “index.php“.

 

Post relacionado:  Configurando uma conexão com MySQL utilizando PDO no PHP

Resultado Final

Ao clicar no link “Excluir” do cliente Linus Torvalds é exibida a mensagem de confirmação:

mensagem-confirmacao-exclusao

 

Depois de excluído o cliente é exibida a mensagem de sucesso:

Exclusão executada com sucesso

 

Após 3 segundos é feito o redirecionamento para página “index.php“:

listagem-clientes

 

Bom pessoal nesse post expliquei como montar a exclusão de registros, assim finalizo a série de posts sobre sistema de cadastro com PHP + PDO no MySQL. No decorrer desses 4 posts apresentei as facilidades de se construir um layout com bootstrap, um pouco do JavaScript puro sem uso do jQuery ou plugins e também as funcionalidades da extensão PDO com o SGBD MySQL.

Espero que esses exemplos possam ajudar o leitor de alguma forma, direcionando para construção de sistemas mais complexos e eficientes.

Link para Download do projeto final com INCLUSÃO, EDIÇÃO, EXCLUSÃO E CONSULTA. (5555 downloads)

Até a próxima …

Tags:,
Show Buttons
Hide Buttons