Ir para conteúdo

POWERED BY:

Arquivado

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

manolegal

[Resolvido] Gravar data em branco no BD

Recommended Posts

Ola amigos do Forum.

Estou fazendo um formulario de alteracao de dados. Estou com problemas com um campo tipo data.

Muitas vezes ao alterar os dados, a data vem preenchida. Se o usuario deletar esta data, preciso grava-la como branco, nulo. Nao estou conseguindo gravar a data com valor nulo.

 

Tentei da seguinte forma:

   if ($data_negativa == "") {
       $data_negativa_gravar_bd = "NULL";
   }
   else{
   $data_negativa_gravar_bd = "$data_negativa_gravar";
   }

 

Tentei ainda:

if ($data_negativa == "") {
       $data_negativa_gravar_bd = "";
   }
   else{
   $data_negativa_gravar_bd = "$data_negativa_gravar";
   }

 

Nenhuma das alternativas deu certo. Alguem tem alguma sugestao? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce quer deixar o campo da tabela do banco de dado NULL? do jeito que você esta fazendo ai no if, você esta gravando a palavra NULL ou espaço, sendo assim você sempre vai ter algum valor no campo da tabela. Mas se você só quer que o campo fique vazio, é mais facil só criar uma condição pro input e depois verificar na consulta sql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente sem aspas, qual banco você esta usando?

   if ($data_negativa == "") {
       $data_negativa_gravar_bd = NULL;
   }
   else{
   $data_negativa_gravar_bd = "$data_negativa_gravar";
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigos. Obrigado pelo retorno.

Estou usando o banco Postgre. Vou tentar implementar as dicas, e depois retorno. Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

if ($data_negativa == "") {
       // aqui o banco ira entender como a palavra NULL 
       $data_negativa_gravar_bd = 'NULL';
   }
   else{
   // aqui deve usar as '' para o banco entender com caracter para data
   $data_negativa_gravar_bd = "'$data_negativa_gravar'";
   }

 

quando for executar a query o campo deve ficar assim:

 

// nao utilizar aspas

insert into tabela (data) values ($data_negativa_gravar_db);

update tabela set data=$data_negativa_gravar_db

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido. Implementei o código do Nielson e resolvi o problema. Obrigado a todos, pela força. Valeu.

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.