new user 0 Denunciar post Postado Julho 12, 2008 Galera beleza? No código abaixo, ele sempre substitui as 3 fotos na hora da atualização. Mas eu preciso que atualize só a foto que o Admin preencher. Assim: Se o admin preencher o cadastro com 3 fotos e depois precise atualizar só a 1ª foto ele mantenha as 2 antigas. Fiz uns testes mas ainda não deu! onde e como eu preciso usar o IF? // Foto 1 if ($foto1 != ""){ foto1='$foto1n', }else{ } CODE <?php $id=$_POST['id2']; $titulo=$_POST['titulo']; $noticia=$_POST['noticia']; $foto1=$file_name; $foto2=$file2_name; $foto3=$file3_name; // Foto 1 if ($foto1 != ""){ $foto1d = date("dmYHis"); $foto1n = $foto1d."1.jpg"; copy($file, "../fotos_eventos/".$foto1n); unlink($file); }else{ $foto1n = ""; } if ($foto2 != ""){ $foto2d = date("dmYHis"); $foto2n = $foto2d."2.jpg"; copy($file2, "../fotos_eventos/".$foto2n); unlink($file); }else{ $foto2n = ""; } if ($foto3 != ""){ $foto3d = date("dmYHis"); $foto3n = $foto3d."3.jpg"; copy($file3, "../fotos_eventos/".$foto3n); unlink($file); }else{ $foto3n = ""; } require("config.php"); $resultado = mysql_query("UPDATE `tabela` SET titulo='$titulo', noticia='$noticia', foto1='$foto1n', foto2='$foto2n', foto3='$foto3n' WHERE id='$id'"); echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=eventos.php'>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Julho 13, 2008 dá uma olhada com atenção nesse link... resolverá seu problema... http://scriptbrasil.com.br/forum/index2.php?showtopic=113123 faça um teste simples antes, para entender melhor, e aí sim depois você adapta ao seu caso... Compartilhar este post Link para o post Compartilhar em outros sites
new user 0 Denunciar post Postado Julho 14, 2008 dá uma olhada com atenção nesse link... resolverá seu problema... http://scriptbrasil.com.br/forum/index2.php?showtopic=113123 faça um teste simples antes, para entender melhor, e aí sim depois você adapta ao seu caso... Cassiano, o exemplo me ajudou para melhorar o código de upload (para preencher um form) mas ainda continuo com dúvida para atualizar, pois não to sabendo onde e como inserir o código: ( se o usuário preencheu o arquivo, substitui o anterior. senão, mantem o arquivo anterior) Compartilhar este post Link para o post Compartilhar em outros sites
João Mello 0 Denunciar post Postado Julho 14, 2008 não seria melhor se ele fosse montando o sql conforme ele vai pegando/vendo as foto? [ não entendi direito o que você quer fazer.... :s ] abraço! Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Julho 14, 2008 ( se o usuário preencheu o arquivo, substitui o anterior. senão, mantem o arquivo anterior)esse arquivo seria o do servidor?se sim, se ele já existe no servidor e for "upado" outro arquivo com o mesmo nome, ele será substituído... [ não entendi direito o que você quer fazer.... :s ]também não entendi muito bem.... Compartilhar este post Link para o post Compartilhar em outros sites
JCMPJ 0 Denunciar post Postado Julho 14, 2008 Muda esse pedaço.troca: $foto1=$file_name; $foto2=$file2_name; $foto3=$file3_name; por: $foto1 = isset($_Files['file_name']['name']) ? $_Files['file_name']['name'] : ""; $foto2 = isset($_Files['file2_name']['name']) ? $_Files['file2_name']['name'] : ""; $foto3 = isset($_Files['file3_name']['name']) ? $_Files['file3_name']['name'] : ""; imaginando que file_name, file2_name e file3_name sejam os nomes dos campos tipo file em seu formulário. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Henrique 0 Denunciar post Postado Julho 15, 2008 complementando a idéia do JCMPJ, trocar o código e dai quando for atualizar no banco de dados, ver se as variaveis são diferentes de vazios e se não forem você da o update do campo abraços Compartilhar este post Link para o post Compartilhar em outros sites
new user 0 Denunciar post Postado Julho 15, 2008 Estou me complicando para explicar... é assim: O Admin cadastra 3 fotos. Quando ele quer mudar só a primeira foto. Ele preenche só o primeiro campo de upload do form. Mas está substituindo as 3 fotos antigas por essa 1 nova. Sendo que era pra substituir só a primeira, as outras 2 antigas continuam. Tipo assim: Se ele preencher a foto 1 altera. senão continua a antiga. Se ele preencher a foto 2 altera. senão continua a antiga. Não estou conseguindo colocar esse código na programação. Compartilhar este post Link para o post Compartilhar em outros sites
new user 0 Denunciar post Postado Julho 15, 2008 Muda esse pedaço.troca: $foto1=$file_name; $foto2=$file2_name; $foto3=$file3_name; por: $foto1 = isset($_Files['file_name']['name']) ? $_Files['file_name']['name'] : ""; $foto2 = isset($_Files['file2_name']['name']) ? $_Files['file2_name']['name'] : ""; $foto3 = isset($_Files['file3_name']['name']) ? $_Files['file3_name']['name'] : ""; imaginando que file_name, file2_name e file3_name sejam os nomes dos campos tipo file em seu formulário. Então, eu mudei mas ele apagou tudo e não subiu nenhuma foto. e pelo que pesquisei... ou coloca um código ISSET mesmo ou faz um IF para o UPDATE. porque aí no UPDATE ele só manda substituir o que tiver conteúdo, e não todos os campos do form. Compartilhar este post Link para o post Compartilhar em outros sites
João Mello 0 Denunciar post Postado Julho 15, 2008 Tenta isso... $sql = "UPDATE `tabela` SET titulo='$titulo', noticia='$noticia'"; $sql = isset($_Files['file_name']['name']) ? $sql . ", foto1 = '$_Files['file_name']['name']'" : $sql; $sql= isset($_Files['file2_name']['name']) ? $sql . ", foto2 = '$_Files['file2_name']['name']'" : $sql; $sql = isset($_Files['file3_name']['name']) ? $sql . ", foto3 = '$_Files['file3_name']['name']'" : $sql; $sql .= " WHERE id='$id'"; Qualquer coisa, grita! :D Compartilhar este post Link para o post Compartilhar em outros sites
new user 0 Denunciar post Postado Julho 15, 2008 Tenta isso... $sql = "UPDATE `tabela` SET titulo='$titulo', noticia='$noticia'"; $sql = isset($_Files['file_name']['name']) ? $sql . ", foto1 = '$_Files['file_name']['name']'" : $sql; $sql= isset($_Files['file2_name']['name']) ? $sql . ", foto2 = '$_Files['file2_name']['name']'" : $sql; $sql = isset($_Files['file3_name']['name']) ? $sql . ", foto3 = '$_Files['file3_name']['name']'" : $sql; $sql .= " WHERE id='$id'"; Qualquer coisa, grita! :D Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/restricted/home/barbarastrauss1/public_html/admin/eventos_editar2.php on line 272 e na linha 272 tem isso: $sql = isset($_Files['file_name']['name']) ? $sql . ", foto1 = '$_Files['file_name']['name']'" : $sql; Compartilhar este post Link para o post Compartilhar em outros sites
João Mello 0 Denunciar post Postado Julho 16, 2008 Retifico: $sql = "UPDATE `tabela` SET titulo='$titulo', noticia='$noticia'"; $sql = isset($_FILES['file_name']['name']) ? $sql . ", foto1 = '". $_FILES['file_name']['name'] ."'" : $sql; $sql = isset($_FILES['file_name2']['name']) ? $sql . ", foto2 = '". $_FILES['file_name2']['name'] ."'" : $sql; $sql = isset($_FILES['file_name3']['name']) ? $sql . ", foto3 = '". $_FILES['file_name3']['name'] ."'" : $sql; $sql .= " WHERE id='$id'"; agora vai ;D testado ;p obs.: o $_FILES tem que ser maiúscula ;) [pelo menos akino no meu php5] abraço! e repito... erro/dúvida da um grito! Compartilhar este post Link para o post Compartilhar em outros sites
Diego Henrique 0 Denunciar post Postado Julho 16, 2008 ou cria também campos HIDDEN no formulário contendo o valor da foto antiga ai você verifica, se vier uma imagem nova você pega o valor do campo da foto, se não vier você pega do campo hidden abraços Compartilhar este post Link para o post Compartilhar em outros sites
João Mello 0 Denunciar post Postado Julho 17, 2008 new user, se possível coloque a solução que encontrou ;] Compartilhar este post Link para o post Compartilhar em outros sites