Hoopkins Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Pessoal tem jeito por exemplo:No campo a pessoa digita: 05/08/2007E no BD ele gravar: 2007-08-05 Quando eu vou mostrar as datas eu faço assim:date_format(data, '%d/%m/%Y') AS dataacho que seria o processo contrário na hora de inserir você podem me dar uma mão ?Agradeço a atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henderson Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 (editado) bom, eu faço assimfunction dataBrasilMysql($data,$sep1,$sep2) { $path = explode ($sep1,$data); return $path['2'].$sep2.$path['1'].$sep2.$path['0']; } aí você usa a função assim $data = dataBrasilMysql($_POST['data'],"/","-"); pra voltar a data do mysql pro formato brasileiro, você faz aí você usa assim $data = dataMysqlBrasil($data,"-","/");assim funciona, não sei se tem alguma função do php que faz isso, mas é que a função é tão simples que eu uso assim e nunca nem procurei outro jeito. Editado Agosto 6, 2007 por Henderson Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Evandro Fontes Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 tenta assim: date("Y-m-d", strtotime(aqui vai a data)) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Mas para pegar a data que a pessoa digitou e transformá-la no formato do MySQL é mais fácil fazer da seguinte maneira:$snova_data = implode("-", array_reverse(explode("/", $data)));Este é um script do Fabyo e foi incluído pelo Beraldo aqui no fórum, na área de códigos prontos.Segue o Link:http://scriptbrasil.com.br/forum/index.php?showtopic=91087 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ARD Postado Agosto 6, 2007 Denunciar Share Postado Agosto 6, 2007 Pessoal tem jeito por exemplo:No campo a pessoa digita: 05/08/2007E no BD ele gravar: 2007-08-05 Quando eu vou mostrar as datas eu faço assim:date_format(data, '%d/%m/%Y') AS data acho que seria o processo contrário na hora de inserir você podem me dar uma mão ? Agradeço a atenção O processo contrário não daria certo, por quê? date_format precisar receber a data no formato 2007-08-06 00:00:00 para fazer a conversão no formato que você definir no segundo parâmetro. Porém temos mais funções de data!!! :P Para você converte a data 05/08/2007 para 2007-08-05 é muito fácil, veja: SELECT STR_TO_DATE('05/08/2007','%d/%m/%Y') AS dataPronto a função STR_TO_DATE leu a nossa string e transformou em DATETIME (na string acima foi só DATE :lol: )T+André Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Hoopkins Postado Agosto 8, 2007 Autor Denunciar Share Postado Agosto 8, 2007 (editado) Pessoal muito obrigado de verdade.. vocês são show de bola.. aidna não conseguir o resultado que quero.. não estou conseguindo adaptar o código de vocês para meu script.. gostaria que alguém me mostrasse como ficaria meu script com a dica do Lvcifer e com a dica do ARD.. peço que coloquem em negrito a parte que editarem no meu script porquê quero aprender como fazer.. muito Obrigado a todos.if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO agenda (evento_nome, evento_data , evento_local, evento_bandas, evento_dj) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['evento_nome'], "text"), GetSQLValueString($_POST['evento_data'], "date"), GetSQLValueString($_POST['evento_local'], "text"), GetSQLValueString($_POST['evento_bandas'], "text"), GetSQLValueString($_POST['evento_dj'], "text")); mysql_select_db($database_ConOnFests, $ConOnFests); $Result1 = mysql_query($insertSQL, $ConOnFests) or die(mysql_error()); $insertGoTo = "alterar_agenda.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } mysql_select_db($database_ConOnFests, $ConOnFests); $query_rseve = "SELECT evento_nome, date_format(evento_data,'%d/%m/%Y') AS evento_data, evento_local, evento_bandas, evento_dj, evento_id FROM agenda ORDER BY evento_data ASC"; $rseve = mysql_query($query_rseve, $ConOnFests) or die(mysql_error()); $row_rseve = mysql_fetch_assoc($rseve); $totalRows_rseve = mysql_num_rows($rseve); ?> Editado Agosto 8, 2007 por Hoopkins Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Agosto 8, 2007 Denunciar Share Postado Agosto 8, 2007 Bom, vamos lá!Eu faria da seguinte maneira:(Farei a variável de data em dois passos, para você poder entender o processo)$data = $_POST['evento_data'];$nova_data = implode("-", array_reverse(explode("/", $data)));if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO agenda (evento_nome, evento_data , evento_local, evento_bandas, evento_dj) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['evento_nome'], "text"), GetSQLValueString($nova_data, "date"), GetSQLValueString($_POST['evento_local], "text"), GetSQLValueString($_POST['evento_bandas'], "text"), GetSQLValueString($_POST['evento_dj'], "text")); mysql_select_db($database_ConOnFests, $ConOnFests); $Result1 = mysql_query($insertSQL, $ConOnFests) or die(mysql_error()); $insertGoTo = "alterar_agenda.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo));}mysql_select_db($database_ConOnFests, $ConOnFests);$query_rseve = "SELECT evento_nome, date_format(evento_data,'%d/%m/%Y') AS evento_data, evento_local, evento_bandas, evento_dj, evento_id FROM agenda ORDER BY evento_data ASC";$rseve = mysql_query($query_rseve, $ConOnFests) or die(mysql_error());$row_rseve = mysql_fetch_assoc($rseve);$totalRows_rseve = mysql_num_rows($rseve);?>Não testei o código aqui, mas deve funcionar sem problemas! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Hoopkins Postado Agosto 8, 2007 Autor Denunciar Share Postado Agosto 8, 2007 Obrigado Lvcifer! Nunca mais vou ter problema com datas no banco de dados! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Hoopkins
Pessoal tem jeito por exemplo:
No campo a pessoa digita: 05/08/2007
E no BD ele gravar: 2007-08-05
Quando eu vou mostrar as datas eu faço assim:
acho que seria o processo contrário na hora de inserir você podem me dar uma mão ?
Agradeço a atenção
Link para o comentário
Compartilhar em outros sites
7 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.