Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Vieira Pinho

Data no mysql

Recommended Posts

Bom, eu sempre gravo as data no db mysql, deixando o campo como varchar...e defino a data com a função date.ok, mas para verificar a data preciso usar o mktime....se eu colocar o date no mysql ira inserir a data neste formato 2005-01-01 certo?mas preciso que seja no formato Brasil 01-01-2005usando a função date do mysql.como reverter para nosso formato brasileiro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao use o campo DATE do mysql e salve a data no padrao 0000-00-00

 

e pra exibir você converte:

 

$data = "2005-01-28";

 

$arr = explode("-", $data);

 

$data_br = "$arr[2]/$arr[1]/$arr[0]";

 

echo $data_br;

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao use o campo DATE do mysql e salve a data no padrao 0000-00-00e pra exibir você converte:

$data = "2005-01-28";$arr = explode("-", $data);$data_br = "$arr[2]/$arr[1]/$arr[0]";echo $data_br;

valeunão teria como fazer no SELECT do mysql, pq a data é exibida em diversos ponto da página e fazendo no select diminuiria o tamanho do arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Fabyo,Usei este exemplo que você mencionou abaixo:

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data tabela");

Porém na página ao fazer o teste surge erro.Onde deveria aparecer a data está com o seguinte código:

<?php echo $row_noticia['date_format(postagem_em,'%d/%m/%Y')']; ?>

Como poderei visualizar a data com este código que escrevi?um abraço a todos,Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data tabela");

Tentei assim:

 

"SELECT * FROM data_mysql date_format(data, '%d/%m/%Y') AS data";

 

retornou o segte erro:

 

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'date_format(data, '%d/%m/%Y') AS data' at line 1

 

tentei assim tb:

 

"SELECT date_format(data, '%d/%m/%Y') AS data data_mysql";

 

retornou o segte erro:

 

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'data_mysql' at line 1

 

???

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP [/tr][tr]

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data tabela FROM tabela");

[/tr]

e assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP [/tr][tr]

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data tabela FROM tabela");

[/tr]

e assim?

Também não!

 

PHP [/tr][tr]"SELECT date_format(data, '%d/%m/%Y') AS data data_mysql FROM data_mysql";[/tr]

 

erro:

 

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'data_mysql FROM data_mysql' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

ups nem reparei :\

PHP [/tr][tr]

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data FROM tabela");

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

ups nem reparei :\

PHP [/tr][tr]

mysql_query("SELECT date_format(data, '%d/%m/%Y') AS data FROM tabela");

[/tr]
Sim!

 

agora funcionou so tem um detalhe, neste caso esta pegando somente a data do db, e se quisesse resgatar tb os outros dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP [/tr][tr]mysql_query("SELECT *,date_format(data, '%d/%m/%Y') AS data FROM tabela");

[/tr]

 

tente assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

np ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao use o campo DATE do mysql e salve a data no padrao 0000-00-00

 

e pra exibir você converte:

 

$data = "2005-01-28";

 

$arr = explode("-", $data);

 

$data_br = "$arr[2]/$arr[1]/$arr[0]";

 

echo $data_br;

Bom, sou novo em programação e to dando uma estudada seguindo os topicos aqui do fórum... eu to tentando montar um sistema para web aqui e encontrei o mesmo problema com relação à data... quanto à esse código que você colocou, deixa eu ver se entendi a lógica:

 

PHP [/tr][tr]$data = "2005-01-28";[/tr]

essa é a variavel data que vai servir meio de "exemplo" pro codigo que vai mudar a ordem...

 

PHP [/tr][tr]$arr = explode("-", $data);[/tr]

aqui a função explode separa em arrays diferentes tudo que for seperado pelo caractere "-" na variavel $data seperando o "2005" em $arr[0], o "01" em $arr[1] e o "28" em $arr[2]...

 

PHP [/tr][tr]$data_br = "$arr[2]/$arr[1]/$arr[0]";[/tr]

aqui ele define uma nova variavel ordenando e separando pelo caractere correto ou seja o "/"

 

PHP [/tr][tr]echo $data_br;[/tr]

aqui ele "valida e grava" (nao sei se são essas as palavras que eu devo usar) a variavel...

 

 

seria isso?? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo...com esse script voce puxa do banco a data no formato yyyy-mm-dd e visualiza em dd/mm/yyyy....

 

 

mas e se você quiser visualizar dd/mm/yyyy e quiser gravar em yyyy-mm-dd??

 

eu tentei reescrever o código e tirei o echo pra ele não mostrar nenhum resultado...o que me importa agora é só a conversão...

vejam se a minha lógica bate:

 

PHP [/tr][tr]<?

$data = date("d-m-Y");

 

$arr = explode("-", $data);

 

$data_br = "$arr[0]/$arr[1]/$arr[2]";

 

$arr = explode("/", $data_br);

 

$data_en = "$arr[2]-$arr[1]-$arr[0]";

?>

[/tr]

 

eu posso vizualizar o meu campo com $data_br e preencher o banco com $data_en??

Compartilhar este post


Link para o post
Compartilhar em outros sites

algo mais simples de se fazer isso

 

 

<?php
	
	$data = date("Y/m/d");
	$exp = explode("/",$data);
	
	list($ano,$mes,$dia) = $exp;	
	
	echo $dia."/".$mes."/".$ano;

?>

 

 

abraços

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.