Ir ao conteúdo
  • Cadastre-se

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


yottabyte_

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á ;)

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...