Stránka 1 z 1

Převod data z PHP do MySQL

Napsal: 12 říj 2011 23:26
od EtiAmmos
Zdravím, mám problém s převodem data z formátu dd/mm/yyyy, do formátu yyyy-mm-dd, který používá MySQL. Prošel jsem si několik diskusí, kde se problém řeší, ale ani jedna mi nepomohla, vždycky se datum do tabulky zapíše špatně.
Zkoušel jsem:

$mysqldate = date( 'Y-m-d', $phpdate ); a dál pak

$date = explode("/",$phpdate);
$mysqldate = $date[2]."-".$date[1]."-".$date[0]; ,
kde po zadání data, např. 26/10/2011 se mi do tabulky zapsalo 2026-10-20. Když jsem si ještě před zápisem do tabulky dal vypsat obsah proměnné $mysqldate, bylo tam správné datum tak, jak se mělo dostat do tabulky 2011-10-26, což fakt nechápu.
Převod opačně z mysql formátu do php funguje bez problémů.
Díky.

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 11:42
od Koja
Zkus funkci StrFTime(); ... napr. StrFTime("%Y-%m-%d. , $cas);

Jinak ja si do MySQL ukladam cas tak, jak ho vypise Time() - tzn obycejny cislo. A prave pomoci StrFTime() se s nim da potom libovolne pracovat..

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:06
od EtiAmmos
Zkusil jse to takhle: $datum = StrFTime("%Y-%m-%d" , $_POST["datum"]); a echo $datum; vraci 1970-01-01

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:11
od Koja
Zkus si projit toto, uplne dole je ukazka pro prevod stringu na datum, snad to pomuze...

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:22
od EtiAmmos
Když to dám takhle
$datum = strtotime($_POST["datum"]);
$datum = StrFTime("%Y-%m-%d" , $datum);
echo $datum;
tak to vrátí 2013-02-10 místo 2011-10-26 :(

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:29
od Koja
A echo $_POST["datum"]; vrati co?

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:36
od EtiAmmos
26/10/2011

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:38
od CZechBoY
ten tvar je 30-12-2011 nebo 30/12/2011? pak to bude jednoduché přes regulární výrazy ;)

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:42
od EtiAmmos
No, do textarea zadavam datum ve tvaru 30/12/2011 a do tabulky se ma zapsat ve tvaru 2011-12-30

Re: Převod data z PHP do MySQL

Napsal: 13 říj 2011 13:45
od CZechBoY
ouk, udělal jsem to, aby ti to fungovalo jak ve tvaru 30/12/2011 tak i 30-12-2011 nebo i 30x12x2011 :D ale to je asi pro tebe už zbytečné
PHP píše://do proměnné $datum dej ten text z TEXTAREA
Preg_Match('/(?P<den>\d+).{1}(?P<mesic>\d+).{1}(?P<rok>\d+)/',$datum,$match);
$datumSQL=$match['rok'].'-'.$match['mesic'].'-'.$match['den'];

Re: Převod data z PHP do MySQL  Vyřešeno

Napsal: 13 říj 2011 14:12
od EtiAmmos
Super, funguje, dik moc :).