Jump to content
Fórum Script Brasil
  • 0

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


Hugão
 Share

Question

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.

Edited by Hugão
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

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

Edited by Hugão
Link to comment
Share on other 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 to comment
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.

 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.8k
×
×
  • Create New...