Leandromx 0 Denunciar post Postado Julho 11, 2008 Olá pessoal, boa noite Seguinte, No site de automóvel, eu gravo vários fotos dele em outra tabela chamada fotos ficando assim idFoto idCarro foto (ex: foto.jpg)E gravo as fotos na pasta fotos Ai vamos dizer que eu apague um veículo e tenho 10 fotos dele. Como faço para apagar todas as fotos da tabela fotos que faz parte dele? e como apagar da pasta? Bom do BD eu acho que tenho que fazer uma procura pela idCarro, procure e apague todas as fotos do idCarro (que nem sei como fazer em php) e na pasta? como faço? Alguma luz? Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Julho 11, 2008 mysql_query("DELETE FROM sua_tabela WHERE id = $id_carro"); $foto = $_POST["foto"]; $dir = "/dir/"; if($exclui = unlink($dir.$foto)) { echo "Foto excluída com sucesso!"; } else { echo "Não foi possível excluir a foto, tente novamente em instantes..."; } Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 unlink(<arquivo); Função Unlink Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2008 Oi galera valeu pela força, acho que não me expressei direito Vou dar um exemplo Tenho: Fusca 68 (gravado na tabela automoveis) frete.jpg lateral.jpg motor.jpg bancos.jpg rodas.jpgou seja 5 fotos para esse carro gravado na tabela FOTOS Estão todos gravado no banco e na pasta idFoto idCarro foto Ai quando eu apagar o FUSCA o sistema terá que ir na tabela FOTOS ver todas as fotos desse carro (através da idCarro acho) e deleter e terá que deletar tbm os arquivos da pasta. Ou seja apagar as 5 fotos de uma vez da tabela e da pasta.... Será que consegui explicar? Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Julho 11, 2008 no código que te passei, basta você por as imagens num array, e num laço executar a função para apagá-las... Compartilhar este post Link para o post Compartilhar em outros sites
vagner.oliveira 0 Denunciar post Postado Julho 11, 2008 Não seria mais simples criar uma pasta com o ID do carro e colocar todas as fotos la dentro, depois quando for apagar, apague somente a pasta e o que está dentro vai junto. Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 Eu não acho que seja mais simples... Preferiria todas as fotos na msma pasta... @Leandro Você consegue exibir todas as fotos do mesmo carro? Se sim, você já tem uma lista de todas as fotos do carro em função do seu id, é só excluir os arquivos que ele exibe usando o unlink. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2008 Oi pessoal bom dia, Vamos lá, deixa eu dizer o que já fiz. Quando eu cadastrado um carro, cria-se automáticamente uma pasta com o noma da ID dele, ou seja pasta será única igual a ID, gravo dentro da pasta fotos. Ai todas as fotos eu gravo o nome no banco ( foto.jpg) e o arquivo na pasta (até aqui tudo bem) Quando visualizo o carro, SIM eu vejo as fotos que gravei dele. Só preciso apagar todas as fotos desse carro do BANCO, porque a PASTA eu apago os arquivos e depois a pasta ( isso eu sei já fiz) Eu tenho esse código aqui $cod = $_POST["del"]; for ($i=0;$i<count($cod);$i++) { $sql = mysql_query("SELECT idFoto FROM fotos WHERE idCarro = '$cod[$i]'"); $aux = mysql_fetch_array($sql); mysql_query("DELETE FROM foto WHERE idCarro = '$cod[$i]'"); } Que aparentemente está funcionando certinho Só preciso de agora o seguinte, caso não apagar me mostrar uma mensagem Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 Troca aqui: mysql_query("DELETE FROM foto WHERE idCarro = '$cod[$i]'"); Por isso: mysql_query("DELETE FROM foto WHERE idCarro = '$cod[$i]'") or die ("Não foi possível deletar as fotos do carro ".$cod[$i]); Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2008 Não aparece nada... Mas valeu pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 Só vai aparecer algo caso ele não consiga deletar (caso a query esteja errada e retorne FALSE), não é isso que você quer? Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2008 Na realidade é só para dizer que não encontra as fotos na tabela Só isso, Por exemplo, o script já apagou as fotos da tabela, só que se eu executar ele não me dá nenhuma mensagem.. Saca? Tipo Fotos excluidas ou Fotos não excluidas porque não achamos elas na tabela algo assim Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Julho 11, 2008 Coloca isso depois da query que deleta do DB: echo "<b>".mysql_affected_rows()."</b> fotos deletadas!"; Função mysql_affected_rows. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2008 Ahhh agora sim Poxa legal isso, Cara obrigado mesmo por essa ajuda... Resolvido Abraços Compartilhar este post Link para o post Compartilhar em outros sites