Ir para conteúdo

POWERED BY:

Arquivado

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

Malvezzi

Gravar data mysql

Recommended Posts

Bom dia pessoal!

Ja procurei alguma coisa parecida no forum, mas não encontrei.

 

Estou tendo dificuldade para gravar uma data que recebo de um form. Como estou utilizando o framework FormDin, não sei se o problema é com o Mysql ou com o framework

 

Ja utilizei diversas funções, tando no PHP quando no Mysql, mas ou grava NULL ou 0000-00-00.

Abaixo meu código, se alguém tiver uma luz...

Obrigado.

 

 

$dataini = $frm->get('pl_dini');
TPDOConnection::executeSql("UPDATE ap_plinha SET pl_dini= STR_TO_DATE($dataini,'%Y-%d-%m') WHERE pl_id = $dados");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Malvezzi,

 

Testando o comando que nos passou:

 

STR_TO_DATE($dataini,'%Y-%d-%m')

 

fiz alguns testes e vi que, se você passar uma data que seja diferente do formato estipulado, por exemplo: YYYY-MM-DD a função irá lhe retornar o valor null.

 

Então, veja se o formato passado como parâmetro está atendendo ao formato YYYY-DD-MM.

 

Abraços.

 

_ _

Fabiano Abreu

http://paposql.blogspot.com'>Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Malvezzi,

 

Neste caso, você deve alterar o formato da função:

 

De: '%Y-%d-%m'

 

Para: '%d-%m-%Y'

 

Abraços.

 

_ _

Fabiano Abreu

http://paposql.blogspot.com'>Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Malvezzi,

 

Sugiro você depurar seu código e ver o que esta sendo passado, fazendo isto, com certeza irá localizar o problema.

 

Abraços.

 

_ _

Fabiano Abreu

http://paposql.blogspot.com'>Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, faça o seguinte:

 

 

 

 

$dataini = $frm->get('pl_dini');


$nova_data = date('Y-m-d', strtotime($dataini));

TPDOConnection::executeSql("UPDATE ap_plinha SET pl_dini= '$nova_data' WHERE pl_id = $dados");

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, tem que ver qual o valor que a var:

 

$dataini = $frm->get('pl_dini');

está recebendo... se ele recebe o valor 00/00/000 ou 00-00-000 deveria gravar: 0000-00-00

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

 

if(isset($_POST["NOME DA SUA VARIAVEL"]))

 

// recebe os dados postados pelo usuário no formato brasileiro

{

$data = implode('-',array_reverse(explode('/',$_POST['NOME DA SUA VARIAVEL'])));

 

}

 

e use $data para inserir no BD

 

Abs

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.