Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 3. 4. 2006, 11:21:35
V db MySQL mám pole typu timestamp a potřebuji po načtení výsledku SQL dotazu porovnat současné datum s datumem v db (timestamo).
Použil jsem Date(YmjHis) < $radek["zacatek"], kde $radek["zacatek"] oznacuje pole db načtené pomocí $radek = mysql_fetch_array($vysledek_dotazu) Jak správně zapsat porovnávání? |
||
*Čvachta* Profil * |
#2 · Zasláno: 3. 4. 2006, 11:28:28
Zkus jen
date(); |
||
MilanJ Profil |
#3 · Zasláno: 3. 4. 2006, 11:32:25
Zkus jen
date(); Zkusil jsem napsalo mi to hlášku: Warning: Wrong parameter count for date() in /www/doc/www... |
||
Hugo Profil |
#4 · Zasláno: 3. 4. 2006, 11:53:44
Lepší je time(). Date slouží k formátování data.
|
||
MilanJ Profil |
#5 · Zasláno: 3. 4. 2006, 11:55:12
Dobře, ale TIME() a pole typu TIMESTAMP přeci nejsou to samé, jak je můžu porovnávat?
|
||
MilanJ Profil |
#6 · Zasláno: 3. 4. 2006, 12:16:43
Jak porovnáváte data Vy?
|
||
Hugo Profil |
#7 · Zasláno: 3. 4. 2006, 12:23:34
Aha, teď jsem si pořádně přečetl dotaz.
Date('Y-m-d H:i:s') < $radek["zacatek"] BTW: Na hodně tvých dotazů se perfektně hodí RTFM. Zkus občas místo diskuze použít manuál. Určitě najdeš odpověd podstatně rychleji. |
||
MilanJ Profil |
#8 · Zasláno: 3. 4. 2006, 12:30:32
Date('Y-m-d H:i:s') < $radek["zacatek"]
Asi jsem ti nenapsal srozumitelně... v db mám uloženo v poli typu TIMESTAMP datum (např. 20060323091243) a potřebuji ho porovnat se současným datem a časem. To Tvůj help nevyřeší. S helpem máš samozřejmě pravdu, ale v PHP nejsem moc kovanej a o spoustě funkcí ani nevím, že existují.:-/ |
||
Hugo Profil |
#9 · Zasláno: 3. 4. 2006, 12:32:24
Tak v tom případě musí fungovat toto
Date('YmdHis') < $radek["zacatek"] Timestamp v sql nepoužívám, takže jsem si spletl formáty. |
||
Hugo Profil |
#10 · Zasláno: 3. 4. 2006, 12:34:30
Jinak, můžeš použít pro porovnávání i mysql, např.
IF(NOW()<`zacatek`, ...) AS `zacatek` |
||
Tomik Profil |
#11 · Zasláno: 3. 4. 2006, 12:35:52
MilanJ
(mktime(0, 0, 0, date("m") , date("d"), date("Y")) < $radek["zacatek"] Ale nerozumím, proč do DB neukládáš datum ve tvaru DATETIME... |
||
MilanJ Profil |
#12 · Zasláno: 3. 4. 2006, 12:37:46
Podle mě bude problém ve formátu data. Použil jsem Date(YmjHis) a asi bych měl použít Date(YmdHis), to bude ono!
|
||
Tomik Profil |
#13 · Zasláno: 3. 4. 2006, 12:38:13 · Upravil/a: Tomik
MilanJ
Dobře, ale TIME() a pole typu TIMESTAMP přeci nejsou to samé, jak je můžu porovnávat? Blbost... viz manuál: Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). (http://mirrors.inway.cz/manual/en/function.time.php) Takže asi nejlíp to jde porovnávat takto: time() < $radek["zacatek"] |
||
Hugo Profil |
#14 · Zasláno: 3. 4. 2006, 12:39:13
Tomik
Ale mktime vrací unixtimestamp, což není to samé jako timestamp v mysql. |
||
Tomik Profil |
#15 · Zasláno: 3. 4. 2006, 12:39:44 · Upravil/a: Tomik
Hugo
Jejda, omluvička... No, nějak mi to po ránu nemyslí... :( |
||
MilanJ Profil |
#16 · Zasláno: 3. 4. 2006, 12:42:45
Hugo
IF(NOW()<`zacatek`, ...) AS `zacatek` To mě nenapadlo. No jo, člověk se pořád učí. Díky Tomik Ale nerozumím, proč do DB neukládáš datum ve tvaru DATETIME... Je to o tolik výhodnější? Já vím, zabere polovinu místa než TIMESTAMP, ale kromě velikosti ještě nějaká výhoda? |
||
Tomik Profil |
#17 · Zasláno: 3. 4. 2006, 12:46:24 · Upravil/a: Tomik
No IMHO je to docela výhodné pro to porovnávání... :)
I když pravda, zas až tak veliký rozdíl v tom není. |
||
MilanJ Profil |
#18 · Zasláno: 3. 4. 2006, 12:48:25
Porovnává se jednodušeji než TIMESTAMP?
Když použiji správné formátování DATE(), funguje to dobře.:-) |
||
Tomik Profil |
#19 · Zasláno: 3. 4. 2006, 12:49:26
No, je to asi jedno, ale já se ve formátu RRRR-MM-DD HH:MM:SS lépe vyznám... ;)
|
||
MilanJ Profil |
#20 · Zasláno: 3. 4. 2006, 12:53:21
To jo.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0