Ir para conteúdo

POWERED BY:

Arquivado

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

k9studio

[Resolvido] Update mysql

Recommended Posts

Olá Amigos,

 

Bom dia!!

 

Estou com a seguinte dúvida...

 

veja a query a baixo

$sql = "update fotos SET campo1 = '$_REQUEST[campo1]', campo2 = '$_REQUEST[campo2]' where id = '$id'";

$res = mysql_query($sql);

 

o campo2 é um radio button e so vai ser marcado quando precisar, até ai tudo certo.

O problema é que so faz um update na tabela se o campo2 estiver marcado.

 

alguem sabe como resolvo esse problema fazer upadate sem o campo2 estiver marcado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta deixar assim:

 

// se o campo 2 existir, retorna o valor do mesmo, se não retorna vazio..
$campo2 = isset($_REQUEST['campo2']) ? $_REQUEST['campo2'] : '';
$sql = "UPDATE fotos SET campo1 = '{$_REQUEST['campo1']}', campo2 = '{$campo2}' WHERE id = '{$id}'";

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

bom dia.

 

Acredito que a solução mais facil será tratar isso com um IF dentro da sua aplicação

If(isset($_REQUEST[campo2]){

$sql = "update fotos SET campo1 = '$_REQUEST[campo1]', campo2 = '$_REQUEST[campo2]' where id = '$id'";

$res = mysql_query($sql);

}

 

else {

$sql = "update fotos SET campo1 = '$_REQUEST[campo1]' where id = '$id'";

$res = mysql_query($sql);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa é realmente a maneira mais facil e que menos utiliza recursos do MySQL

 

é possivel fazer no MySQL,

mas você teria que fazer o IF dentro do MySQL

Voce teria que referencias as suas variaveis dentro de variaveis no MySQL

e verificar se elas estão preenchidas ou nao

e com um IF... ELSE realizar uma ação,

daria mto trabalho e utilizaria mto recurso,

sem contar na quantidade de dados que você colocaria na rede sem precisão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@K9, o problema é que quando você não marca o campo2, o php busca ele e não encontra, retornando um erro e não atualizando o DB.

 

Por isso deixei o cód. assim

 

// veja bem..
// se o campo 2 existir(ou seja, se o campo2 for marcado), vai retornar o valor do campo2
// caso ele não seja marcado vai retornar uma string vazia..
// sendo assim, a variável $campo2 sempre vai existir, independente do campo2 ser marcado ou não.. sacou.. =)

$campo2 = isset($_REQUEST['campo2']) ? $_REQUEST['campo2'] : '';
$sql = "UPDATE fotos SET campo1 = '{$_REQUEST['campo1']}', campo2 = '{$campo2}' WHERE id = '{$id}'";

 

Experimente fazer como citei ai.. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Amigo,

 

 

Obrigado pela dica...

 

Funcionou assim:

$campo2 = isset($_REQUEST['campo2']) ? $_REQUEST['campo2'] : '0';

 

pois sem o zero o campo continuava vazio.

 

 

Obrigado!!!

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.