Autor Zpráva
mardon
Profil
V db mám datum v ve formátu datetime,

v PHP bych chtěla pomocí formuláře vložit nový záznam do db
pro datum tam mám <input type="text" ...

Pokud do formuláře vložím např. 01.01.2009 10:00
datum se mi správně neuloží do db.
mikul
Profil
Pokud to má být pro jiné uživatele, tak to můžeš udělat tak, aby datum zadávali pomocí select. Zvlášť den, měsíc rok a ty už si to pak naformátuješ tak aby ti to dtb vzala - RRRR.MM.DD HH:MM:SS
nightfish
Profil
to proto, že datetime má formát yyyy-mm-dd hh:mm:ss
pakliže ti z formuláře leze něco jiného, bude potřeba to patřičně převést
mardon
Profil
takže jsem pokročila

$datum = "01.01.2009 10:00";
$prevod = explode(" ",$datum);
$prevod2 = explode(".",$prevod[0]);

mi da zvlast den, mesic, rok a hodinu.

ted jsem se trosku zarazila pouzit asi funkci date? do které ale proměnnou je časovy údaj v timestamp?
Kajman_
Profil *
Stačí to spojit

$datum_pro_mysql=$prevod2[2]."-".$prevod2[1]."-".$prevod2[0]." ".$prevod[1];
mardon
Profil
jaá jsem to nakonec doplácala takto

<?
$datum = "01.01.2009 10:00";
$prevod = explode(" ",$datum);
echo $prevod[0]."<br>";
echo $prevod[1]."<br>";
$prevod2 = explode(".",$prevod[0]);
$prevod3 = explode(":",$prevod[1]);

$vysledek = date('Y-m-d H:i:s',mktime($prevod3[0],$prevod3[1],0,$prevod2[1],$prevod2[0],$prevod2[2]));
echo $vysledek;
?>
Moab
Profil
nebo
$datum_pro_mysql=StrFTime("%Y-%m-%d %H:%M:%S",StrToTime($datum));
mardon
Profil
$datum_pro_mysql=$prevod2[2]."-".$prevod2[1]."-".$prevod2[0]." ".$prevod[1];

ještě tam chybí sekundy

$datum_pro_mysql=$prevod2[2]."-".$prevod2[1]."-".$prevod2[0]." ".$prevod[1].":00";


nebo
1 $datum_pro_mysql=StrFTime("%Y-%m-%d %H:%M:%S",StrToTime($datum));

úžasné jednoduché elegantní

díky za inspiraci
cistax
Profil
co treba to vkladat do policka v db, kde je typ VARCHAR? to by neslo?
AM_
Profil
cistax
Samozřejmě, prasácky to jde udělat vždycky.
Watchick
Profil
AM_
:D aha......
a v čem je rozdíl?
AM_
Profil
Watchick
Rozdíl začne třeba tam, když si budeš chtít seřadit záznamy podle data.

Co takhle něco jako
$datum = strtotime(@$_POST['datum']);
mysql_query("INSERT INTO clanky (jmeno, datum) VALUES ('$jmeno', FROM_UNIXTIME($datum)");
cistax
Profil
hm, ja jsem prase:D prijde mi to jako nejjednodussi zpusob

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: