Jump to content
Fórum Script Brasil
  • 0

Não consigo deletar registro do banco de dados


Question

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 to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644531
×
×
  • Create New...