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

PHP e MySQL - Exclusão de dado do banco.[Resolvido]


Hugão

Pergunta

Boa tarde pessoal!

Estou criando um site para testar meus conhecimentos e fiz um formulário de exclusão como vou citar no código abaixo.

O problema é que quando clico no botão Excluir não exclui o valor do banco e aparece uma mensagem de variável (idmural) não definida na linda 96, mas a mensagem de "Deletado com sucesso" aparece.

Testei uma coisa, quando eu removo o $_POST[idmural] pelo número do id no banco, dá certo. O que eu estou fazendo de errado?

Vejam o código:

<!DOCTYPE html>
<html>
    <head>
        <title>Painel de controle</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="estilo.css">
        <?php
        include("../connections/connection.php");
        $sql = mysql_select_db($database_Connection)
                or die("Erro ao conectar ao banco de dados, contate o administrador!");
        ?>

    </head>
    <body id="bodypainel">
        <div id="sair">
            <a href="<?php echo $logoutAction ?>">Sair</a>
        </div>
        <div id="logopainel" > <img src="painel2.png" /> </div>
        <div id="painel">
            <?php
            if (isset($_POST['apagar']) && $_POST['apagar'] == "excluir"){
                $deleta = mysql_query("DELETE FROM mural WHERE idmural = '$_POST[idmural]'");  <----------Linda 96
                if ($deleta == 1) {
                    echo "Deletado com sucesso!";
                } else {
                    echo "Erro ao deletar!";
                }
            }
            ?>
            <form id="form1" name="form1" mathod="post" action="" enctype="mulpart/form-data">
                <table border="0" align="center">
                    <tr>
                        <td id="titulo" colspan="2">Cadastrar Novo Mural</td>
                    </tr>
                    <tr>
                        <td>Título</td>
                         <td><input id="campo" type="text" name="titulo" size="62"  placeholder="Título do novo mural"></td>
                    </tr>
                    <tr>
                        <td>Texto</td>
                        <td><textarea id="campo" name="texto" rows="10" cols="60"></textarea></td>
                    </tr>
                </table>
            </form>
        </div>
        <!--Painel-->

        <div id="painel">
            <?php
            $sql = "SELECT idmural, titulo FROM mural ORDER BY data DESC, idmural DESC";
            $resultado = mysql_query($sql) or die(mysql_error());
            if (@mysql_num_rows($resultado) == 0) {
                echo "Nenhum registro encontrado!";
            }
            ?>
            <form id="form2" name="form2" method="post" action="" enctype="">
                <table align="center">
                    <tr>
                        <td><select>
                                 <option id="hoverSelect" value="apaga mural">Selecione o mural  para exclusão.</option>
                                <?php
                                while ($linha = mysql_fetch_array($resultado)) {
                                    $idmural = $linha[0];
                                    $titulo = $linha[1];
                                ?>
                                 <option id="hoverSelect" value="<?php echo $idmural;  ?>"><?php echo $titulo; ?></option>
                                <?php
                                }
                                ?>
                            </select></td>

                        <td>
                            <input type="hidden" name="apagar" value="excluir" />
                            <input id="excluir" type="submit" name="excluir" value="Apagar Mural" />
                        </td>
                    </tr>
                </table>
            </form>
        </div><!--Painel-->
    </body>
</html>

Obrigado pela atenção.

Editado por Hugão
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

boa madrugada amigo...

tentarei ajudar..

substitua isso :

$deleta = mysql_query("DELETE FROM mural WHERE idmural = '$_POST[idmural]'"); <----------Linda 96

por isso:

$deleta = mysql_query("DELETE FROM mural WHERE idmural = '".$_POST['idmural']."' "); <----------Linda 96

parece ser erro de sintax.....

teste e poste o que se assucedeu.......

aaa sugiro que comece a usar essas funções mysql assim mysqli_query, mysqli_num_row, etc.... :lol:

Link para o comentário
Compartilhar em outros sites

  • 0

Tudo na paz?

Amigo,

Eu alterei o código para deixar mais limpo e identifiquei que ele não estava excluindo do banco porque estava pegando o idmural 0 e não o idmural selecionado no form select.

A mensagem é: "Mural id 0 deletado com sucesso!". Agora o problema é saber por que ele não pega a opção selecionada no option do select.

Veja como ficou o código (vou postar só as partes pertinenetes):

<?php
            $combo =  (isset($_POST['idmural']) ? $_POST['idmural'] : 0);
                $deleta = mysql_query("DELETE FROM mural WHERE idmural = $combo");
                if ($deleta) {
                    echo "Mural id $combo deletado com sucesso!";
                } else {
                    echo "Erro ao deletar!" . mysql_error();
                }
            ?>

<div id="painel">
            <?php
            $sql = "SELECT idmural, titulo FROM mural ORDER BY data DESC, idmural DESC";
            $resultado = mysql_query($sql) or die(mysql_error());
            if (@mysql_num_rows($resultado) == 0) {
                echo "Nenhum registro encontrado!";
            }
            ?>
            <form id="form2" name="form2" method="post" action="" enctype="mulpart/form-data">
                <table align="center">
                    <tr>
                        <td><select name="idmual">
                                <option>Selecione o mural para exclusão.</option>
                                <?php
                                while ($linha = mysql_fetch_array($resultado)) {
                                    $idmural = $linha[0];
                                    $titulo = $linha[1];
                                    echo "<option value='$idmural'>$titulo</option>";
                                }
                                ?>
                            </select></td>

                        <td>
                            <!--<input type="hidden" name="apagar" value="excluir" />-->
                            <input id="excluir" type="submit" name="excluir" value="Excluir" />
                        </td>
                    </tr>
                </table>
            </form>
        </div><!--Painel-->

Editado por Hugão
Link para o comentário
Compartilhar em outros sites

  • 0
<select name="idmual">

<select name="idmual">

<select name="idmual">

<select name="idmual">

<select name="idmual">

<select name="idmual">

<select name="idmual">

:angry:

rs

Cara eu vi esse absurdo! Desculpe, alterei e deu certo! :blush:

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...