Ir ao conteúdo
  • Cadastre-se
yottabyte_

Adequando o valor da data do formulário para o BD

Posts recomendados

Pessoal..

bom, esse é meu primeiro script e é bem básico.Porém, é uma duvida que muitos de vocês já devem ter tido ou ainda tem.

Seguinte, quando estamos preechendo um formulário de cadastro e enviando os dados para o banco, acabamos tendo um "problema" com a data. O suposto "problema" é que o padrão de linguagem do banco é inglês . Entaao como adequar a data que é em portugues?!

Vou colocar o script de uma pagina de cadastro q eu estava fazendo:

Essa pagina é quem irá inserir os dados do meu formulário(que está em uma outra página, lógicamente) no banco!



<?php
#chamando a pagina de conexão com o banco
require("conexao.php"); //

#Pegando os valores do formulario
$nome = $_POST["nome"];
$telefone = $_POST["telefone"];
$data = $_POST["data"];
$endereco = $_POST["endereco"];
$obs = $_POST["obs"];


[B]#Trasformando uma string data de 01-12-2008 para 2008-12-01[/B]
$aux = explode("/",$data);
$data = "$aux[2]-$aux[1]-$aux[0]";


$sql = "insert into aluno (nome, endereco, data, telefone, obs) values ('$nome', '$endereco', '$data', '$telefone', '$obs')";

$query = mysql_query($sql) or die("Erro ao cadastrar");

</body>
<body>

é isso..espero q tenham entendido facilmente.. qquer duvida estarei a disposição.!

Quero deixar claro q nao sou expert em php... mais sigo atrás dele na correria ..hahá ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito bom, vale lembrar só uma coisa... se você estiver guardando em um campo DateTime, você vai ter que fazer assim na hora de mostrar...



######################################
#### Para converter de PT-BR para EN #####
######################################
$Date = "07/03/2009";

$New = explode('/', $DateOld);

$DateNew = $DateOld[2].'-'.$DateOld[1].'-'.$DateOld[0];
echo $DateNew; // retornará 2009-03-07

######################################
#### Para converter de EN para PT-BR #####
######################################
$DateTimeOld = "2009-03-07 04:20:45";

$DateTimeNew = explode(' ', $DateTimeOld);

$DateOld = explode('-', $DateTimeNew[0]);
$DateNew = $DateOld[2].'/'.$DateOld[1].'/'.$DateOld[0];
echo $DateNew; // retornará 07/03/2009

$TimeNew = $DateTimeNew[1];
echo $TimeNew; // retornará 04:20:45

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns pela iniciativa amigo.

Lembrem-se de que quem está trabalhando com MySQL pode utilizar as funções dele mesmo, sem necessidade de explode() para inserir ou resgatar valores.

Para resgatar:

SELECT DATE_FORMAT('2009-03-07', '%d/%m/%Y') => 07/03/2009

Para inserir em formato válido:

SELECT STR_TO_DATE('07/03/2009', '%d/%m/%Y') => 2009-03-07

O MySQL (e os outros tb) possuem muitas funções dentro de si que facilitam e muito a vida do desenvolvedor, talvez pelo PHP possuir muito mais tutoriais, exemplos e tal o pessoal acaba resolvendo as questões através do PHP, mas é bom tb conhecer as funções do banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Eletrônica

PROMOÇÃO DE QUARENTENA

Aproveite o isolamento social para aprender eletrônica!
De R$ 39,90 por apenas R$ 19,90
Só até as 23h59min desta sexta-feira 10/04/2020

CLIQUE AQUI E COMPRE AGORA MESMO!