Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel Filho

Tratamento de dados PHP/MySQL

Recommended Posts

Bom, eu ando treinando o meu PHP, e para isso resolvi tentar criar um sistema de notícias.

 

O sistema deve:

 

1º - Inserir as notícias;

2ª - Exibi-las em uma outra página;

3ª - Montar um painel que delete as notícias.

 

Bom, os dois primeiros passos já consegui fazer.

Quero saber como faço pra inserir um botão de delete que envie o comando necessário para que a noticia em questão seja deletada.

 

O código abaixo lista os títulos das notícias ja inseridas. Só preciso por um botão do lado para deletar.

 

<?php
 include "conexao.php";
 $exibir_sql = mysql_query("SELECT titulo FROM noticia ORDER BY id DESC");
 $linhas = mysql_num_rows($exibir_sql);
 for ($contador = 0; $contador<$linhas; $contador++) {
	 $titulo = mysql_result($exibir_sql, $contador, "titulo");
	 echo "$titulo";
	 echo "<br />";
 }
 mysql_close($conexao);
 ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode criar um link que envie por GET o ID da notícia. Depois, an página que recebe esse dado, você captura o ID da URL e o passa para o comando DELETE, para excluir o registro do banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz isso mesmo que nosso amigo de cima disse. Crie uma página chamada "delete.php".

Nela deve conter o seguinte código:

 

<?php

 $noticia_id = $_GET['id'];

 $sql = "DELETE FROM noticia WHERE id = '".$noticia_id."'";
 $query = mysql_query($sql) or die(mysql_error());

//A primeira linha recebe pela url o id da notícia.
//A terceria monta a query e a quarta executa;
?>

A sua url ia ficar mais ou menos assim:

http://seusite.com/delete.php?id=214

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas o loop repete para todos os registros, já que nao coloquei limite, exibindo apenas as noticias de cada imagem...

 

o botão/link para deletar tem que aparecer do lado do titulo da noticia, por tanto dentro do loop, por isso nao sei como fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

no loop de exibição, você inclui a tag "a", gerando um link para a página que executará a remoção. Você precisa selecionar o ID também, além do título, para passá-lo pela URL. Dentro do seu loop, haverá isto:

 

echo "<a href=\"deletar.php?id=" . $id_vindo_do_bd . "\">Remover</a>";

 

Aí você faz o que o vinicvo postou, para excluir o registro do banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

for ($contador = 0; $contador<$linhas; $contador++) {         
   $titulo = mysql_result($exibir_sql, $contador, "titulo");
   $id     = mysql_result($exibir_sql, $contador, "id");        
   echo "$titulo";
   echo "<input type='button' name='apagar' value='Apagar' onClick='Apaga($id);'>";         
   echo "<br />"; 
}

Agora o js para ficar com uma confirmação de sim ou não:

 

<script>
   function Apaga(id) {
      confirma = window.confirm('Deseja apagar o registro?');
      if(confirma == true) {
          document.location= 'suapagina_que_apaga.php?'+id;
      }
   }
</script>

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, corrige essa linha:

document.location= 'suapagina_que_apaga.php?'+id;
//troca por essa:

document.location= 'suapagina_que_apaga.php?id='+id;

Falha minha.

 

At+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, mas para essa linha funcionar você tem que trazer o id na sua query tambem, pois você só esta trazendo o titulo.

Corrija que irá funcionar.

 

At+

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.