Ir para conteúdo

POWERED BY:

Arquivado

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

new user

if no PHP

Recommended Posts

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

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

( 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

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

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

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

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

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

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

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

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

×

Informação importante

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