Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jack Oliveira

DELETAR ITENS DO BANCO

Recommended Posts

Ola galera se esta postagem estiver no lugar errado perdoa-me.

Bom se puderem me ajudar e me dar uma solução de como eu posso fazer o seguinte.

 

Eu tenho uns funcionarios em media de 4 pessoas

cada um deles tem acesso de nível onde eles podem cadastrar editar e deletar tbm ate ai blz.

Mas eu quero uma maneira de quando eles chegar a deletar alguma coisa para não aparecer no site mais, este conteúdo pode até não mais aparecer no site entende?

Mas quem vai definir se ele vai ser deletado ou não sou eu. Toda vez que eles deletar pelo painel deles no meu painel master aparecer uma notificação de que foi deletado algo

ai eu que vou decidir se vai ser ou não. ou seja o ultimo clique será o meu se eu realmente aceitar assim ele pode ser deletado do banco de dados de vez.

Pois das muitas vezes eles deleta as coisas que não poderia ou seja que é importante ter dentro do site.

Bom sei que não é bicho de 7 cabeça, mais eu preciso de um caminho para começar a fazer este código se alguém poder me dar uma base de como fazer.

Bom seria mais o menos isso ai, espero que possa ter entendido a minha logica.

 

                                                   Desde já fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Tuan

 

Cria no seu banco de dados algo parecido como STATUS.

 

Por exemplo: 

If(status == 1){

  produto fica Ativo

} elseif(status == 2){

 produto fica Inativo

}

 

Depois você decide se vai ser excluído ou não, para o usuário, o produto foi retirado da lista, mas só você define o STATUS do produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é nada complicado, desde que saiba executar CRUD corretamente, não entrarei em detalhes por não saber com qual aplicação você manipula o DB se é pdo ou mysqli

 

Então, todo conteúdo no banco deve possuir uma coluna que indique sua visibilidade, ou seja quando for para ser exibido somente exiba o que está como ativo por exemplo.

Quando um usuário for apagar, na verdade ele não apaga, apenas ele vai fazer um updade no status de exibição para não disponível assim sendo ao todos que acessarem a aplicação não mais visualizarão aquele conteúdo.

Para você ou o admin da aplicação, esse sim vai poder apagar aquele conteúdo.

 

Outra forma (é o que desenvolvi no meu último trabalho) seria uma nova tabela, essa seria um backup, quando um usuário for apagar algo, o conteúdo a ser apagado antes é salvo no backup e logo então é apagado. Ou seja o conteúdo foi excluído, mas ainda resta seu backup cabendo ao admin decidir eliminar o backup ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Remazela Certo é uma boa isso ai, mas assim os funcionarios eles ainda vai ver este produto inativo no painel deles correto? O que eu quero se eles clicar em deletar eles não verem ele mais só se eu ativar novamente...

Bom isso que você postou já me ajuda de como realizar este procedimento aqui vlw maninho que DEUS abençoa

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Omar~ Boa tarde maninho eu estou trabalhando com o PDO, mas este aqui seria mais o menos a ideia mano que você falou, eu só preciso de uma base de como começar ela 

  ["

Quando um usuário for apagar, na verdade ele não apaga, apenas ele vai fazer um updade no status de exibição para não disponível assim sendo ao todos que acessarem a aplicação não mais visualizarão aquele conteúdo.

Para você ou o admin da aplicação, esse sim vai poder apagar aquele conteúdo.

 

Outra forma (é o que desenvolvi no meu último trabalho) seria uma nova tabela, essa seria um backup, quando um usuário for apagar algo, o conteúdo a ser apagado antes é salvo no backup e logo então é apagado. Ou seja o conteúdo foi excluído, mas ainda resta seu backup cabendo ao admin decidir eliminar o backup ou não."]

Compartilhar este post


Link para o post
Compartilhar em outros sites
43 minutos atrás, TUAN disse:

@Remazela Certo é uma boa isso ai, mas assim os funcionarios eles ainda vai ver este produto inativo no painel deles correto? O que eu quero se eles clicar em deletar eles não verem ele mais só se eu ativar novamente...

Bom isso que você postou já me ajuda de como realizar este procedimento aqui vlw maninho que DEUS abençoa

 

Caro Tuan

 

Basta filtra a sua lista/tabela, uma vez inativo o usuário não visualiza mais.

 

Somente o administrador visualiza tudo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mateus.andriollo
      Alguém sabe uma boa ferramenta (grátis) para comparação de banco de dados Desenvolvimento e Produção.
      Preciso automatizar as atualizações no banco de dados da produção com base no banco de dados de desenvolvimento.
       
      Achei algumas ferramentas mas pagas....
    • Por durrib
      Olá, pessoal.
      Meu provedor não autoriza mais Banco Access, então fui obrigado migrar para o MySQL e estou "apanhando", rs...
      Consegui criar a primeira Tabela de Insert de email's. Aí que vem o drama, problemas no auto_increment e blá blá...
      Consegui o primeiro passo, o Insert, mas o resto não estou conseguindo assimilar.
      Prefiro continuar os script's no ASP, se tiver que ir pro PHP, eu desisto.
      -->
       
      'Windows 2012
          'Criamos o objeto de conexão
       Set conn = Server.CreateObject("ADODB.Connection")
          'Abrimos uma conexão com o banco de dados
          '[IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
      Conn.Open("DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=XXX;PORT=3306;DATABASE=XXX;USER=XXX;PASSWORD=XXX;OPTION=3;")
      Response.Write "banco conectado"
          'Fechamos a conexão com o banco de dados
      Conn.Close()
          'Destruímos o objeto
      Set Conn = Nothing
      -->
       
      Está conectando, mas na hora da listagem, nada!
      HELP!
       
       
    • Por jefferson919
      Pessoal, 
       
      Estou tentando criar um registro de log de operação em php, mas não consigo fazer as duas operações de forma alguma. Só faz uma não importa o que eu faça. Estou com o seguinte codigo:
       
      <?php // Sessão session_start(); // Conexão require_once 'db_connect.php'; if(isset($_POST['btn-delete'])): $id = mysqli_escape_string($connect, $_POST['usuario_id']); $idDeletador = $_SESSION['id_usuario']; $teste = 1; if ($teste==1): $sql = "INSERT INTO tb_log (log_data, log_usuario, log_menu, log_tipo) VALUES (now(), $idDeletador, 'Usuário', 'Deletar' );"; $novo=2; if ($novo==2): $sql = "DELETE FROM tb_usuario WHERE usuario_id = '$id';"; $_SESSION['mensagem'] = "Deletado com sucesso!"; header('Location: ../cruds/consultaUsuario.php'); else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../comeco.php'); endif; else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../index.php'); endif; //$sql = "INSERT INTO tb_log (log_data, log_usuario, log_menu, log_tipo) VALUES (now(), $idDeletador, 'Usuário', 'Deletar' );"; //$sql = "DELETE FROM tb_usuario WHERE usuario_id = '$id';"; if(mysqli_query($connect, $sql)): $_SESSION['mensagem'] = "Deletado com sucesso!"; header('Location: ../cruds/consultaUsuario.php'); else: $_SESSION['mensagem'] = "Erro ao deletar"; header('Location: ../cruds/consultaUsuario.php'); endif; endif;  
    • Por Flaviaac
      Boa tarde pessoal,
       
      Estou começando a programar em PHP agora e ainda tenho muitas dúvidas, gostaria de uma ajuda =)
      Quero deletar um registro da tabela quando pressionar o botão de "apagar" como na imagem: 
       

       
      O que acontece é que quando aperto o botão, ele exibe a mensagem de que foi deletado com sucesso, porém não deleta do banco.
      E exibe a mensagem: Notice: Undefined index: id in .../teste_tabela3/deletar_produto.php on line 11
       
      Alguém saberia me dizer o que estou fazendo errado? Obrigada!
       
       
      Segue o código do arquivo deletar_produto.php
      <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; $id = $_POST['id']; if(isset($_POST['apagar'])){ $sql = "DELETE FROM produtos WHERE id='$id'"; $result = mysqli_query($conn, $sql); if($conn->query($sql) === TRUE) echo "<br/><br/><span>O registro foi deletado com sucesso...!!</span>"; }else{ echo "<p>Não foi possivel apagar o registro....!!</p>"; } $conn->close(); ?>  
      Esse é o arquivo listar_produtos.php
      <?php include_once 'cabeçalho.php'; include_once 'conexao.php'; ?> <div class="d-flex mx-2 my-2"> <div class="mr-auto p-2"> <h2 class="display-4 titulo">Lista de Produtos</h2> </div> </div> <?php $sql = "SELECT id, produto, valor FROM produtos"; $result = $conn->query($sql); ?> <!--------------------------------------------TABELA--------------------------------------------> <div class="table-responsive"> <table class="table table-bordered table-hover table-striped"> <thead> <tr> <th>ID</th> <th>Produto</th> <th>Valor</th> <th>Ações</th> </tr> </thead> <?php if ($result->num_rows > 0) { echo "<tbody>"; while($row = $result->fetch_assoc()) { echo "<tr>"; echo "<td>" .$row['id'] ."</td>"; echo "<td>" .$row['produto']. "</td>"; echo "<td>" .$row['valor']. "</td>"; echo "<td>"; echo "<form action='deletar_produto.php' method='post'>"; echo "<button type='submit' class='btn btn-outline-primary' name='editar'>Editar</button> &nbsp;"; echo "<button type='submit' class='btn btn-outline-primary' name='apagar'>Apagar</button>"; echo "</form>"; echo "</td>"; echo "</tr>"; } } else { echo "0 results"; } ?> </tbody> </table> <?php $conn->close(); include_once 'rodape.php'; ?>  
    • Por Felipe_N22
      Pessoal, como que eu crio uma rotina no MySQL para efetuar delete de registros inseridos nos últimos 30 dias, e fazer com que esse procedimento rode todos os dias automaticamente em determinado horário?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.