k9studio 0 Denunciar post Postado Setembro 30, 2011 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
Francispansa 6 Denunciar post Postado Setembro 30, 2011 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
Caio Cardoso 0 Denunciar post Postado Setembro 30, 2011 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
k9studio 0 Denunciar post Postado Setembro 30, 2011 Olá Amigo, Essa opção já fiz, mais achei meio tosco, não teria uma maneira de tratar na mesma query? Compartilhar este post Link para o post Compartilhar em outros sites
Caio Cardoso 0 Denunciar post Postado Setembro 30, 2011 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
Francispansa 6 Denunciar post Postado Setembro 30, 2011 @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
k9studio 0 Denunciar post Postado Outubro 1, 2011 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