MauF Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 Bom galera tenho algumas dúvidas sobre data....é o seguinte tenho uma dúvida na hora de gravar as datas no banco de dados...Ex.. Se eu botar essa data 01022004 no meu formulário e gravar no bancoi de3 dado e na hora da consulta ela não fica assim 20040201.....Ela fica to misturado os numeros..Fica assim 20014200, ou quando aparece numeros que eu nem botei....alguém pode me ajudar com isso, sabem alguma forma de gravar essa data certa...ou ate mesmmo no formato brasileiro......Valeu..fico no aguardo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 cara usa o campo DATE pra guardar as datas e salve no banco no formato 0000-00-00depois pra exibir você converte pra 00/00/0000 ou você converte para o formato que quiserla no tópico suspenso de script tem varias funções explicando como converterda uma olhada la qualquer duvida posta ai Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 Ai que ta o problema no banco de dados ela esta no formato DATE, so que não esta gravando certo, as vezes aparece numeros que nem foran digitados.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 gross Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 Tem certeza que ta passando certo os valores das datas pras variáveis?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 Ta assim no código php.. <? include ("conecta.php"); $data_cadastro = addslashes($data_cadastro); $query = "insert into associado (data_cadastro) values ('$data_cadastro')"; if($recset_query=mysql_query($query,$conexao)) { echo include ("resposta.php"); } else{ echo include ("resposta_prob.php"); } ?> no banco de dados o nome do campo é data_cadastro o tipo é DATE... assim é o formulário do html <form method="post" action="../scripts/inc_associado.php" name="form1"> <input type="text" name="data_cadastro" size="10" maxlength="10"> </form>O que pode estar errado.....? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 Tem que ser salvo no banco no padrão 0000-00-00como que você ta digitando o data_cadastro no formulario?se for assim 00/00/0000 você tem que converterolha la na sessao de script que la tem uma função que converte a datase você não achar posta ai que eu mostro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 Deixa eu ver se eu entendi, eu tenho que converter ela para o formato 0000/00/00. isso... e quando consultar eu posso converter para mostrar00/00/0000....Tem como validar adata em php.... equando consultar tem como botar as barras, mesmo não estando salvas no banco de dados...Se voce poder me mostrar um exemplo fico grato... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 mas toma ai:converter datas:Função converte datase pra colocar a barra automatico use javascript la na sessao de javascript tem uns exemplos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 <? function converte_data($data_cadastro){ if (strstr($data_cadastro, "/")){//verifica se tem a barra / $d = explode ("/", $data_cadastro);//tira a barra $invert_data = "$d[2]-$d[1]-$d[0]";//separa as datas $d[2] = ano $d[1] = mes etc... return $invert_data; } elseif(strstr($data_cadastro, "-")){ $d = explode ("-", $data_cadastro); $invert_data = "$d[2]/$d[1]/$d[0]"; return $invert_data; } else{ return "Data invalida"; } } ?> <form method="post" action="../scripts/inc_associado.php" name="form1"> <input type="text" name="data_cadastro" size="10" maxlength="10"> </form>è assim que eu uso essa função ou eu uso la na hora de incluir no banco de dados....VAleu pela ajuda por enquanto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fabyo Postado Outubro 7, 2004 Denunciar Share Postado Outubro 7, 2004 você coloca a função na pagina que você ira salvar no banco de dados Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 <? include ("conecta.php"); $data_cadastro = addslashes($data_cadastro); function converte_data($data_cadastro){ if (strstr($data_cadastro, "/")){//verifica se tem a barra / $d = explode ("/", $data_cadastro);//tira a barra $invert_data = "$d[2]-$d[1]-$d[0]";//separa as datas $d[2] = ano $d[1] = mes etc... return $invert_data; } elseif(strstr($data_cadastro, "-")){ $d = explode ("-", $data_cadastro); $invert_data = "$d[2]/$d[1]/$d[0]"; return $invert_data; } else{ return "Data invalida"; } } $query = "insert into associado (data_cadastro) values ('$invert_data')"; if($recset_query=mysql_query($query,$conexao)) { echo include ("resposta.php"); } else{ echo include ("resposta_prob.php"); } ?>Fica assim ..... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 7, 2004 Autor Denunciar Share Postado Outubro 7, 2004 Fiz alguns teste e agora não grava nada... Não consigo Achar oerro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MauF
Bom galera tenho algumas dúvidas sobre data....
é o seguinte tenho uma dúvida na hora de gravar as datas no banco de dados...
Ex.. Se eu botar essa data 01022004 no meu formulário e gravar no bancoi de3 dado e na hora da consulta ela não fica assim 20040201.....
Ela fica to misturado os numeros..
Fica assim 20014200, ou quando aparece numeros que eu nem botei....
alguém pode me ajudar com isso, sabem alguma forma de gravar essa data certa...ou ate mesmmo no formato brasileiro......
Valeu..fico no aguardo
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.