Ir para conteúdo
Fórum Script Brasil
  • 0

Não consigo deletar registro do banco de dados


Flaviaac

Pergunta

Boa tarde pessoal,

Estou começando a programar em PHP e gostaria de uma ajuda,

Quero deletar um registro da tabela quando pressionar o botão de "apagar" como na imagem: https://ibb.co/mb718jk

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 mensagemNotice: 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';
  ?>

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom, pelo que eu precebi, você não separou a variavel $id do delete, ele esta entendendo como uma string e não uma variavel,

tenta colocar assim e ve se resolve.

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

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...