Ir para conteúdo

POWERED BY:

Arquivado

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

§_ladyshaolin_§

datas, e + datas...

Recommended Posts

Oi denovo pessoal! Procurei uma solução para o meu problema no Lab de scripts, mas infelizmente não encontrei... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

Acontece o seguinte, tenho um banco de dados(mysql) que registra a data de matrícula do aluno mas o formato padrão de data dele é yyyy-mm-dd e qdo. o usuário estiver preenchedo o formulário, ele digitará dd-mm-yyyy, como faço para que a data seja gravada corretamente no bco. de dados e o usuário não tenha que ser "adaptado" a outro sistema de datas?

 

Obrigada desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

na hora do insert no banco usa NUMBER_FORMAT=)lá no insert, quando você fazer a variavel que vem do form inserir no banco, em vez de por apenas a variavel, coloca assim:DATE_FORMAT(campo_data, '%d-%m-%Y')

Compartilhar este post


Link para o post
Compartilhar em outros sites

outro meio eh por expressoes regulares:$data = preg_replace('/(\d\d\d\d)-(\d\d)-(\d\d)/', '$3/$2/$1', $dataBanco);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz alguns testes aki mas não funcionou... :(

 

tipo assim:

 

$data_cad = preg_replace('/(\d\d\d\d)-(\d\d)-(\d\d)/', '$3/$2/$1', $_POST["data_cad"]);

 

e assim no select:

 

DATE_FORMAT('".$data_cad."', '%d-%m-%Y')

 

mas a data continua saindo bagunçada, será q fiz alguma coisa errada? tenho q alterar alguma coisa no bco. de dados?

 

adailton, não entendi direito como funciona essa função que você postou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixei assim, mas ainda não funcionou...

 

<? require "dsn.php";

// variáveis

$nome = $_POST["nome"];

$sobrenome = $_POST["sobrenome"];

$data_cadastro = preg_replace('/(\d\d\d\d)-(\d\d)-(\d\d)/', '$3/$2/$1', $_POST["data_cad"]);

$login = $_POST["login"];

$senha = $_POST["senha"];

$permissao = $_POST["permissao"];

$status = $_POST["status"];

 

$sql = mysql_query("INSERT INTO usuario_adm (nome, sobrenome, data_cad, login, senha, permissao, status) VALUES ('".$nome."', '".$sobrenome."', '".$data_cadastro."', '".$login."', md5('".$senha."'), '".$permissao."', '".$status."')");

if(!$sql){

echo "Erro ao tentar incluir registro: ".mysql_error();

}

else{

header("location: conf_INSusuarioadm.html");

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!! assim funcionou gente:

 

$data_cad = implode("-", array_reverse(explode("-", $_POST["data_cad"])));

 

Valew adailton, agora entendi como funciona!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Obrigada a todos que também contribuíram com outros scripts de referência!! ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim no SQL, você tá colocando errado!

 

 

PHP

[*]$sql = mysql_query("INSERT INTO usuario_adm (nome, sobrenome, DATE_FORMAT(data_cad, '%d-%m-%Y'), login, senha, permissao, status) VALUES ('".$nome."', '".$sobrenome."', '".$data_cadastro."', '".$login."', md5('".$senha."'), '".$permissao."', '".$status."')");

[*]

[*]

 

Entendeu???

Você vai dizer que o padrão do INSERT para o campo data_cad vai ser dd-mm-aaaa

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, estou com a mesma duvida.

 

Tenho um campo Data no banco de dados, e ele grava yyyy-mm-dd.

Porem, preciso cadastrar, exibir e efetuar uma consulta de forma q o usuario veja e digite dd/mm/aaaa.

 

como fazer isso? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza... achei num topico uma funcao chiq.. q usa esse implode/explode... funcionou beleza..grato pela ajuda!!

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.