Jump to content
Fórum Script Brasil
  • 0

Uma Ajuda Com Datas


Hoopkins
 Share

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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.

Edited by Henderson
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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);
?>

Edited by Hoopkins
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...