Ir para conteúdo

POWERED BY:

Arquivado

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

Odair - Oliveira

[Resolvido] Deletar dados do banco de dados

Recommended Posts

Estou desenvolvendo um sistema de notícias e estou na fase final. Estou desenvolvendo agora uma página para o cliente deletar as notícias, porém não estou conseguindo executar o comando para deletar :/

 

Essa é a página que exibe as notícias cadastradas:

<?php
//conecxão com o banco de dados
include "conecta.php";

$sql="SELECT * FROM noticias order by id_noticias desc";
$resultado=mysql_query($sql); ?>

<!--Conteúdo da página-->
<div class="centraliza">
<h3 id="titulo">Notícias cadastradas</h3>
<?php while($pegar=mysql_fetch_array($resultado)) { ?>

<div class="noticia">
   <!--Título da notícia-->
   <a class="noticia-titulo" href="http://localhost:8888/noticias/noticia_detalhada.php?id_noticias=<?php echo "$pegar[id_noticias]"; ?>"><?php  echo "$pegar[titulo]"; ?></a>
   <!--Redes sociais-->
   <div class="redes-sociais">
   <!--Data em que a notícia foi postada-->
<p class="noticia-data">Postado em: <?php echo implode('/',array_reverse(explode('-',"$pegar[data]"))); ?> por <?php echo "$pegar[autor]"; ?> </p>
   <!--deletar-->
   <a href="deletar.php?id_noticias=<?php echo "$pegar[id_noticias]"; ?>">Deletar notícia</a>
   </div>
</div>
 <?php }
?>

 

Essa é a parte que deleta as notícias

<?php
//conecxão com o banco de dados
include "conecta.php";

$id_noticias="id_noticias";

$sql="DELETE FROM noticias WHERE id_noticias limit 1";
$deleta=mysql_query($sql);
echo "foi deletado com êxito!";
?>
<script language="JavaScript">
function redireciona(){window.location.href='http://localhost:8888/noticias/admin/noticias_cadastradas.php'};
setTimeout(redireciona, 500);
</script>

 

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa passar o id da linha q deseja deletar.

se n tiver um where com o id você vai deletar todas as linhas da tabelas.

 

tente assim:

DELETE FROM noticias WHERE id_noticias = $_GET['id_noticias']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tão simples e me deu um trabalho do caramba... hahahaha

 

Muito obrigado pela ajuda deu certo agora!

 

você precisa passar o id da linha q deseja deletar.

se n tiver um where com o id você vai deletar todas as linhas da tabelas.

 

tente assim:

DELETE FROM noticias WHERE id_noticias = $_GET['id_noticias']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com um outro problema rsrs

Agora estou fazendo a parte de alterar as notícias:

 

Essa é a página para alterar:

 

<?php
//verifica se esta logado
include "verifica.php";

//conecxão com o banco de dados
include "conecta.php";

//seta o cookie
$nome=$_COOKIE["nome"];

$sql="SELECT * FROM noticias WHERE id_noticias = $_GET[id_noticias]";
$resultado=mysql_query($sql); ?>

<?php while($pegar=mysql_fetch_array($resultado)) { ?>

<div class="centraliza">
 <form id="incluir_noticia" name="form_post" action="alterar.php" method="post">

   <h2>Bem-vindo, <span class="nome"><?php echo "$nome"; ?></span>. Inclua a sua notícia aqui <a style="float:right;" href="http://localhost:8888/noticias/admin/noticias_cadastradas.php" title="Ver notícias">ver notícias cadastradas</a></h2>
   <hr />
<div id="ferramentas">
       <input type="button" onclick="addBalise('[b]','[/b]')" value="Negrito">
       <input type="button" onclick="addBalise('[i]','[/i]')" value="Itálico">
       <input type="button" onclick="addBalise('[u]','[/u]')" value="Sublinhado">
       <input type="button" onclick="addBalise('[quote]','[/quote]')" value="Citação">
       <input type="button" onclick="addBalise('[url]','[/url]')" value="Link">
       <input type="button" onclick="addBalise('[destacar]','[/destacar]')" value="Subtitulo">
       <input type="button" onclick="addBalise('
[center]','[/center]
')" value="Centralizar">
       <input type="button" onclick="window.open('http://localhost:8888/noticias/upload_imagem/index.php', 'popupwindow', 'scrollbars=no, width=620, height=368, resizable=no, fullscreen=no');" value="Imagem">
</div>

   <p>Título da notícia</p>
   <input type="text" name="titulo" value="<?php  echo "$pegar[titulo]"; ?>">

   <p>Notícia</p>
   <textarea name="mensagem"><?php  echo "$pegar[mensagem]"; ?></textarea>

   <p>Autor</p>
   <input type="text" name="autor" value="<?php  echo "$pegar[autor]"; ?>">

   <input type="submit" value="Alterar notícia" onClick="return valida();">
   <input type="reset" value="Limpar campos">
 </form>
   <?php }
?>

 

e essa é a página que altera no banco de dados

 

<?php
//verifica se o usuário já está logado
include "verifica.php";

$titulo=$_POST["titulo"]; //echo "$titulo";
$mensagem=$_POST["mensagem"];//echo "$mensagem";
$id_usuario=$_COOKIE["id"]; //echo "$id_usuario";
$autor=$_POST["autor"];//echo "$autor";
$data = date("Y-m-d");

//conexão com o banco de dados
include "conecta.php";

mysql_query("UPDATE noticias SET $titulo=$_POST[titulo], $mensagem=$_POST[mensagem], ' WHERE id_noticias = $_GET[id_noticias]");

mysql_close($con);
?>
<script language="JavaScript">
function redireciona(){window.location.href='http://localhost:8888/noticias/admin/incluir_noticia.php'};
setTimeout(redireciona, 700);
</script>

 

O problema é que não esta alterando. Eu useioexemplo que você me citou acima mas não deu certo :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque aspas simples nos valores q forem do tipo texto(varchar, text, char)

 

UPDATE noticias SET $titulo= '$_POST[titulo]', $mensagem='$_POST[mensagem]',  WHERE id_noticias = $_GET[id_noticias]

Compartilhar este post


Link para o post
Compartilhar em outros sites

"UPDATE noticias SET titulo='" . $_POST['titulo'] . "', mensagem='" . $_POST['mensagem'] . "' WHERE id_noticias = " . (int)$_GET['id_noticias']

 

altera a query ai

 

 

 


<?php
//verifica se o usuário já está logado
include "verifica.php";

$titulo=$_POST["titulo"]; //echo "$titulo";
$mensagem=$_POST["mensagem"];//echo "$mensagem";
$id_usuario=$_COOKIE["id"]; //echo "$id_usuario";
$autor=$_POST["autor"];//echo "$autor";
$data = date("Y-m-d");

//conexão com o banco de dados
include "conecta.php";

mysql_query("UPDATE noticias SET titulo='{$titulo}', mensagem='{$mensagem}' WHERE id_noticias = " . (int)$_GET[id_noticias]);

mysql_close($con);
?>
<script language="JavaScript">
       function redireciona(){window.location.href='http://localhost:8888/noticias/admin/incluir_noticia.php'};
       setTimeout(redireciona, 700);
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago só isso não será o suficiente, ele não possui referencia ao $_GET... Você deve fazer estas alterações tb:

 

<?php
//verifica se esta logado
include "verifica.php";

//conecxão com o banco de dados
include "conecta.php";

//seta o cookie
$nome=$_COOKIE["nome"];

$sql="SELECT * FROM noticias WHERE id_noticias = $_GET[id_noticias]";
$resultado=mysql_query($sql); ?>

<?php while($pegar=mysql_fetch_array($resultado)) { ?>

<div class="centraliza">
 <form id="incluir_noticia" name="form_post" action="alterar.php" method="post">
 <input type="hidden" name="id_noticias" value="<?=$_GET["id_noticias"]?>" />
   <h2>Bem-vindo, <span class="nome"><?php echo "$nome"; ?></span>. Inclua a sua notícia aqui <a style="float:right;" href="http://localhost:8888/noticias/admin/noticias_cadastradas.php" title="Ver notícias">ver notícias cadastradas</a></h2>
   <hr />
       <div id="ferramentas">
       <input type="button" onclick="addBalise('[b]','[/b]')" value="Negrito">
       <input type="button" onclick="addBalise('[i]','[/i]')" value="Itálico">
       <input type="button" onclick="addBalise('[u]','[/u]')" value="Sublinhado">
       <input type="button" onclick="addBalise('[quote]','[/quote]')" value="Citação">
       <input type="button" onclick="addBalise('[url]','[/url]')" value="Link">
       <input type="button" onclick="addBalise('[destacar]','[/destacar]')" value="Subtitulo">
       <input type="button" onclick="addBalise('
[center]','[/center]
')" value="Centralizar">
       <input type="button" onclick="window.open('http://localhost:8888/noticias/upload_imagem/index.php', 'popupwindow', 'scrollbars=no, width=620, height=368, resizable=no, fullscreen=no');" value="Imagem">
       </div>

   <p>Título da notícia</p>
   <input type="text" name="titulo" value="<?php  echo "$pegar[titulo]"; ?>">

   <p>Notícia</p>
   <textarea name="mensagem"><?php  echo "$pegar[mensagem]"; ?></textarea>

   <p>Autor</p>
   <input type="text" name="autor" value="<?php  echo "$pegar[autor]"; ?>">

   <input type="submit" value="Alterar notícia" onClick="return valida();">
   <input type="reset" value="Limpar campos">
 </form>
   <?php }
?>

 

<?php
//verifica se o usuário já está logado
include "verifica.php";

$titulo=$_POST["titulo"]; //echo "$titulo";
$mensagem=$_POST["mensagem"];//echo "$mensagem";
$id_usuario=$_COOKIE["id"]; //echo "$id_usuario";
$autor=$_POST["autor"];//echo "$autor";
$data = date("Y-m-d");

//conexão com o banco de dados
include "conecta.php";

mysql_query("UPDATE noticias SET titulo='{$titulo}', mensagem='{$mensagem}' WHERE id_noticias = " . $_POST[id_noticias]);

mysql_close($con);
?>
<script language="JavaScript">
       function redireciona(){window.location.href='http://localhost:8888/noticias/admin/incluir_noticia.php'};
       setTimeout(redireciona, 700);
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido!

 

Criei no meu form um input hidden para resgatar o id_noticias

<!--input hidden para resgatar o id-->
<input type="hidden" name="salva_id" value="<?php echo "$pegar[id_noticias]"; ?>">

 

Se o POST for feito na url com o ID terá a referência sim, no caso se for feito na própria página...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido!

 

Criei no meu form um input hidden para resgatar o id_noticias

<!--input hidden para resgatar o id-->
<input type="hidden" name="salva_id" value="<?php echo "$pegar[id_noticias]"; ?>">

 

Se você olhar minha última postagem foi exatamente isso que eu te recomendei a fazer... =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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