Página 1 de 1
Problema com imagem no MySQL Como manter o registro atual se uma imagem não for carregada
#1
Postou 03 novembro 2009 - 15:38
E aee...beleza?
To com um problemão: tenho uma tabela no MySQL que tem um campo chamado "imagem", e vai nesse campo o nome da imagem no momento em que é feito o upload da mesma em uma área administrativa. O que ocorre é que esse campo precisa ser opcional para o usuário, e o que eu quero fazer é o seguinte: se o usuário fizer o upload de uma nova imagem, será feito o update no MySQL e, se nenhuma imagem for carregada, a imagem atual é que deverá permanecer cadastrada no bd. Como eu poderia fazer isso?
Valeu aee!!
To com um problemão: tenho uma tabela no MySQL que tem um campo chamado "imagem", e vai nesse campo o nome da imagem no momento em que é feito o upload da mesma em uma área administrativa. O que ocorre é que esse campo precisa ser opcional para o usuário, e o que eu quero fazer é o seguinte: se o usuário fizer o upload de uma nova imagem, será feito o update no MySQL e, se nenhuma imagem for carregada, a imagem atual é que deverá permanecer cadastrada no bd. Como eu poderia fazer isso?
Valeu aee!!
#2
Postou 03 novembro 2009 - 15:47
Antes de você fazer o update faça uma consulta para retornar o nome da imagem atual e se caso o input da imagem vier em branco
você coloca o mesmo none (da imagem atual) no update e não faz upload de imagem, mantendo assim o mesmo registro.
Não sei se fui claro, qualquer coisa estamos aí.
At+
você coloca o mesmo none (da imagem atual) no update e não faz upload de imagem, mantendo assim o mesmo registro.
Não sei se fui claro, qualquer coisa estamos aí.
At+
#3
Postou 03 novembro 2009 - 15:55
Então, vou explicar o que eu fiz inicialmente, mas que não deu certo. A princípio, dá uma olhada no meu código:
Explicando:
1. Atribuo à variável $arquivo à imagem enviada no form;
2. Defino como nulo a variável $imagem_box, variável que será usada na query de atualização do MySQL;
3. Se alguma imagem for carregada, use esse valor e, caso contrário, traga o valor do campo "imagem_box" da tabela de boxes.
O que tá errado?
$arquivo = $_FILES['imagem_box'];
$imagem_box = "";
if($arquivo != NULL) {
$imagem_box = $nome_arquivo;
} else {
$imagem_box = $row_rsBoxes['imagem_box'];
}
Explicando:
1. Atribuo à variável $arquivo à imagem enviada no form;
2. Defino como nulo a variável $imagem_box, variável que será usada na query de atualização do MySQL;
3. Se alguma imagem for carregada, use esse valor e, caso contrário, traga o valor do campo "imagem_box" da tabela de boxes.
O que tá errado?
#5
Postou 04 novembro 2009 - 17:38
Tentei colocar o valor default mas não deu certo. O que eu preciso é basicamente isso: se o usuário enviar uma nova imagem, essa nova imagem é cadastrada no bd, mas, se nenhuma imagem for carregada, a imagem atual deve ser considerada.
Alguém pode dar alguma luz?
Alguém pode dar alguma luz?
#8
Postou 05 novembro 2009 - 11:43
Bom cara, eu sempre consegui fazer isso usando DEFAULT na hora de criar a tabela no MySQL.
CREATE TABLE usuarios ( id_usuario int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, login_usuario varchar(20) NOT NULL, senha_usuario varchar(8) NOT NULL, avatar_usuario text NULL DEFAULT 'http://www.servidor.com.br/imagem.jpg' )
#11
Postou Ontem, 16:17
Eu fiz o select pra retornar o nome da imagem atual cadastrada no MySQL, mas não deu certo. O que ocorre é que o update p/ o nome da imagem não tá acontecendo. A minha situação é a seguinte: o cliente irá somente atualizar o conteúdo textual do site, então as imagens por enquanto não irão mudar, e conseqüentemente, nenhuma imagem será carregada na área administrativa. Realmente estou precisando solucionar isso, mas ainda não tive sucesso.
Valeu aee!
Valeu aee!
Página 1 de 1


Entrar
Cadastre-se
Ajuda


Quote