sady.alexandre Posted July 29, 2004 Report Share Posted July 29, 2004 Bom... tenho um formulário para agendamento de reuniões com um campo data...se eu jogar direto no bd a data no formato que eles colocam dd/mm/aaaa, a data vai ficar muito errada no banco...como posso fazer para que ele inverta isso na hora de jogar no bd???já vi alguns tópicos sobre isso, mas só mostra como trazer a data num formato, mas não como inserir...valeu! Quote Link to comment Share on other sites More sharing options...
0 sadrack Posted July 29, 2004 Report Share Posted July 29, 2004 em ql formato você quer jogar a data no seu banco ?use a função date(DdMmYy); Quote Link to comment Share on other sites More sharing options...
0 sady.alexandre Posted July 29, 2004 Author Report Share Posted July 29, 2004 o formato que o mysql da la... aaaa-mm-dd...se eu jogar a data normal aqui dd-mm-aaaa, ele vai inserir uma data invertida la, dai é foda de saber.... Quote Link to comment Share on other sites More sharing options...
0 Guest Guest Posted July 29, 2004 Report Share Posted July 29, 2004 você insere normal mas na hora de exibir na tela você exibe dd/mm/yyyy Quote Link to comment Share on other sites More sharing options...
0 sady.alexandre Posted July 29, 2004 Author Report Share Posted July 29, 2004 pois é... agora q me veio na cabeça que eu posso jogar ela direto e depois trazer ela no formato normal....valeu galera!ae... aproveitando, alguém pode me sugerir um site, tutorial ou qualquer coisa que me ensine a como fazer validação de campos... decente né...valeu! Quote Link to comment Share on other sites More sharing options...
0 sadrack Posted July 29, 2004 Report Share Posted July 29, 2004 q tipo de validação ..... ? login e senha ? pra logar user ?se for confere esse aqui ... !http://www.linhadecodigo.com.br/artigos.asp?id_ac=258&pag=1fiz o meu em cima do q esse cara explicou ....é muito bom ! qualquer coisa estamos aqui... Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted July 29, 2004 Report Share Posted July 29, 2004 Use a função NOW() do mysql ela ira inserir a data atual automaticamentepra você exibir no formato br você faz assim:$data = 0000-00-00;$arr = explode("-", $data);$datas = "$arr[2]/$arr[1]/$arr[0]";//00/00/0000agora pra você inverter datas de dd/mm/aaaa pra aaaa-mm-dd ou vise versaeu postei uma função pra isso la na sessao de script da uma olhada la Quote Link to comment Share on other sites More sharing options...
0 sady.alexandre Posted July 29, 2004 Author Report Share Posted July 29, 2004 pow... busquei a data la no banco....me trouxe uma data nada a ver....eu inseri assim no banco:27/07/2004e no banco a data ta assim:2017-07-20....na hora que fui buscar ele só inverteu o ano e o mes....mas distorceu totalmente a data....eu vio essa função la na sessão de scripts, mas tb é foda...function converte_data($data){if (strstr($data, "/")){//verifica se tem a barra / $d = explode ("/", $data);//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, "-")){ $d = explode ("-", $data); $invert_data = "$d[2]/$d[1]/$d[0]"; return $invert_data;}else{ return "Data invalida"; }} não entendo mais nada! rse outra coisa... a função now() não da pra usar, porque a data em questão é a data que a reunião esta marcada....e mais uma... no mysql to usando um campo do tipo DATE... acho q é o melhor pra isso... senão já invento aqui e uso um varchar e que se dane tudo! huahuahua Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted July 29, 2004 Report Share Posted July 29, 2004 eu inseri assim no banco:27/07/2004campo date você tem que inserir assim 2004-07-27E é o correto mesmo usar o campo date e inserir a data assim 0000-00-00dai se formata a sua data pra salvar assim mesmoe depois só transformar pra visualizar Quote Link to comment Share on other sites More sharing options...
0 ppgsalomao Posted July 29, 2004 Report Share Posted July 29, 2004 Cara, com essa função faz assim:<?function converte_data($data){if (strstr($data, "/")){//verifica se tem a barra / $d = explode ("/", $data);//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, "-")){ $d = explode ("-", $data); $invert_data = "$d[2]/$d[1]/$d[0]"; return $invert_data;}else{ return "Data invalida"; }} $data1 = 00/00/0000; // Data da Reunião no Formato normal$data2 = converte_data($data1); // Converte para a data do MySQLecho "Data no formato normal: " . $data1 . "<br>";echo "Data no formato do MySQL: " . $data2 . "<br>";?> Quote Link to comment Share on other sites More sharing options...
0 rog Posted July 29, 2004 Report Share Posted July 29, 2004 usando timestamp você escapas de todos os problemas (exept datas anterioras a 1/1/1970)a data se torna um numero intero que você pode manipular do jeito que quizer com uma precisao de segunda Quote Link to comment Share on other sites More sharing options...
0 sady.alexandre Posted July 29, 2004 Author Report Share Posted July 29, 2004 to desistindo... não da certo!ele insere 0000-00-00 no bd... não rola a parada....caracas... no inputbox do form eu jogo a data desses 3 jeitos:- 29/07/2004- 2004/07/29- 2004-07-29e ele não da certo... da erro nessa linha:$data1 = 00/00/0000; // Data da Reunião no Formato normal$data2 = converte_data($data1); // Converte para a data do MySQLp*** merda... caracas.... e não sou eu que agendo só... se fosse eu jogava direto no BD... mas é que são várias pessoas que vão agendar e o campo de data, elas jogam assim: 27/07/2004, as vezes até sem o ano.... ta foda!!!!!!!! Quote Link to comment Share on other sites More sharing options...
0 ppgsalomao Posted July 29, 2004 Report Share Posted July 29, 2004 Não cara !!a variável $data1 é a que vai receber a data a ser convertida !!!Não é para ela ficar assim não !! Quote Link to comment Share on other sites More sharing options...
0 Fabyo Posted July 29, 2004 Report Share Posted July 29, 2004 não tem segredo nenhum você pega sua data que veio do form assim:$dia = $_POST["dia"];$mes = $_POST["mes"];$ano = $_POST["ano"];dai você formata assim:$data = "$ano-$mes-$dia";e salva no banco a $datafacil não é? Quote Link to comment Share on other sites More sharing options...
0 sady.alexandre Posted July 29, 2004 Author Report Share Posted July 29, 2004 vocês são os caras! rsrsrsrsdeu certo aqui... foi mal a burrice momentânea, mas o nervosismo me priva de qualquer observação mais detalhada! huahuahuahavaleu ae! Quote Link to comment Share on other sites More sharing options...
Question
sady.alexandre
Bom... tenho um formulário para agendamento de reuniões com um campo data...
se eu jogar direto no bd a data no formato que eles colocam dd/mm/aaaa, a data vai ficar muito errada no banco...
como posso fazer para que ele inverta isso na hora de jogar no bd???
já vi alguns tópicos sobre isso, mas só mostra como trazer a data num formato, mas não como inserir...
valeu!
Link to comment
Share on other sites
14 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.