Ir para conteúdo

POWERED BY:

Arquivado

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

dpb

Função Unlink

Recommended Posts

Ola Pessoal tudo tranquilo.

 

Pessoal é o seguinte criei um banco de dados onde tem: (id, Nome, Noticias, Imagem) o cadastro está funcionando OK, criei uma página onde são listadas todas as noticias com (Nome, Noticias, Imagem) e uma coluna remover eu consigo remover todos os dados do banco de dados mas eu queria também que por exemplo ao excluir o "id 1" todos os dados relacionados a esse 'id' fossem deletados (detalhe eu consigo remover os dados mas as fotos da pasta eu não consigo) inclusive as fotos. O meu banco funciona assim ele cria um caminho da foto e envia a foto para uma pasta chamada '/img'.

 

Esse é o código que estou utilizando:

<?php
require_once('conexao.php');
if(isset($_GET['id'])){
  $id = $_GET['id'];
  $sql = "DELETE FROM propaganda_esquerda WHERE id=?";
  $stmt = mysqli_prepare($con, $sql);
  mysqli_stmt_bind_param($stmt, "i", $id);
  mysqli_stmt_execute($stmt);
  if(mysqli_stmt_affected_rows($stmt)){
    $resultado = true;
  }
  else{
    $resultado = false;
  }
  mysqli_stmt_close($stmt);
  mysqli_close($con);
}

  if(isset($resultado)){
  	if($resultado){
		
      echo "<script language='javascript' type='text/javascript'>alert('Logotipo excluído com sucesso!');window.location.href='listar_propaganda_esq.php'</script>";
	  }else{
      echo "<h1>Erro ao excluir propaganda!</h1>";	
    }
  }else{
    echo "<h1>Acesso Indevido!</h1>";	
  }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assumindo que o caminho até a imagem esteja no BD, leia essa informação e use o unlink para remover o arquivo, após isto apague do BD também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assumindo que o caminho até a imagem esteja no BD, leia essa informação e use o unlink para remover o arquivo, após isto apague do BD também.

 

Como assim?? Poderias dar um exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$sql = ("SELECT * FROM tabela WHERE...");

 

while($dados = $sql){

unlink(caminho/ate/a/imagem/'.$dados['nome_da_coluna_que_tem_o_nome_da_imagem']);

 

("DELETE FROM tabela WHERE...");

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites
$sql = ("SELECT * FROM tabela WHERE...");

while($dados = $sql){
unlink(caminho/ate/a/imagem/'.$dados['nome_da_coluna_que_tem_o_nome_da_imagem']);

("DELETE FROM tabela WHERE...");

}

 

Olha só nas "..." eu poderia colocar um "id=?" para quando eu deletar um dado ele pegar o dado correto do banco certo.

Mas na linha

unlink(caminho/ate/a/imagem/'.$dados['nome_da_coluna_que_tem_o_nome_da_imagem']);

Não tem que concatenar "'.$dados.'" caso eu concatene segue o erro da linha acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou um ' na abertura do caminho.

unlink('caminho/ate/a/imagem/'.$dados['nome_da_coluna_que_tem_o_nome_da_imagem']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou conseguindo utilizar esse código, ja coloquei ele no meio do meu código e não consegui fazer funcionar.

<?php
require_once('conexao.php');


$sql = ("SELECT * FROM propaganda_esquerda WHERE id=?");

while($dados = $sql){

("DELETE FROM propaganda_esquerda WHERE id=?");

}

if(isset($_GET['id'])){
  $id = $_GET['id'];
  $sql = "DELETE FROM propaganda_esquerda WHERE id=?";
  unlink('/img/'.$dados['img']);
  $stmt = mysqli_prepare($con, $sql);
  mysqli_stmt_bind_param($stmt, "i", $id);
  mysqli_stmt_execute($stmt);

  
if(mysqli_stmt_affected_rows($stmt)){
    $resultado = true;
  }
  else{
    $resultado = false;
  }
  mysqli_stmt_close($stmt);
  mysqli_close($con);
}

  if(isset($resultado)){
  	if($resultado){
		
      echo "<script language='javascript' type='text/javascript'>alert('Logotipo excluído com sucesso!');window.location.href='listar_propaganda_direita.php'</script>";
	  }else{
      echo "<h1>Erro ao excluir propaganda!</h1>";	
    }
  }else{
    echo "<h1>Acesso Indevido!</h1>";	
  }
  
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tchê, o meu objetivo principal aqui é ajudar as pessoas a se ajudarem, raramente dou código pronto, o que eu te passei foi a lógica, ficou muito claro que você simplesmente fez o copiar/colar padrão...

 

Leia o que passei e adapte a sua realidade...

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.