Ir para conteúdo
Fórum Script Brasil
  • 0

Uma Ajuda Com Datas


Hoopkins

Pergunta

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:

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

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

bom, eu faço assim

function 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 por Henderson
Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0
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:

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 data

Pronto a função STR_TO_DATE leu a nossa string e transformou em DATETIME (na string acima foi só DATE :lol: )

T+

André

Link para o comentário
Compartilhar em outros sites

  • 0

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 por Hoopkins
Link para o comentário
Compartilhar em outros sites

  • 0

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!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...