Autor | Zpráva | ||
---|---|---|---|
a Profil * |
#1 · Zasláno: 16. 6. 2008, 20:57:41
Dobrý den,
uměl by mi někdo poradit jak je možné napsat nejlépe podmínku pro porovnání časů. Mám cyklus, který vypisuje data z databáze a u starších dat 30 dnů nechci vypsat možnost pro editaci. Časy jsou v klasickém formátu DATETIME. takže něco na tento způsob if($datum_v_DB <= $dnešní_datum - 30dní){ echo "LZE EDITOVAT"; } Děkuji... |
||
ShiraNai7 Profil |
#2 · Zasláno: 16. 6. 2008, 21:05:43
Proč to nenapsat přímo v SQL dotazu?
|
||
a Profil * |
#3 · Zasláno: 16. 6. 2008, 21:13:20
Protože já chci vypsat všechny bez ohledu na čas, pouze u těch starších 30 dnů nezobrazovat možnost editace
|
||
ShiraNai7 Profil |
#4 · Zasláno: 16. 6. 2008, 21:20:59
Ukládal bych dnešní datum jako timestamp, s tím se pracuje o mnoho líp.
|
||
a Profil * |
#5 · Zasláno: 16. 6. 2008, 23:03:26
Já s tím už nic neudělám, v databázi je to prostě DATETIME. Potřeboval bych nějak efektně vyfiltrovat ty starší dny...
|
||
Leo Profil |
#6 · Zasláno: 16. 6. 2008, 23:30:25
"Ukládal bych dnešní datum jako timestamp, s tím se pracuje o mnoho líp."
To sotva. Leo |
||
ninja Profil |
#7 · Zasláno: 16. 6. 2008, 23:32:23
ShiraNai7: a MySQL funkce UNIX_TIMESTAMP a FROM_UNIXTIME() znas?!
|
||
ninja Profil |
#8 · Zasláno: 16. 6. 2008, 23:34:46
a: Pokud muzes do SQL dotazu pridat do selectu cast "UNIX_TIMESTAMP(sloupec_datumtime) AS datum_timestamp" tak to mas vyresene. Anebo rovnou rovnou dat porovnani do toho selectu a vracet si bud pocet dnu nebo true/false.
Pokud nemas moznost menit dotaz, asi nejlepe pres PHP funkci strtotime(). |
||
a Profil * |
#9 · Zasláno: 16. 6. 2008, 23:44:54
Už jsem na strtotime() taky narazil, chystám se to pomocí ní nějak zkusit.
UNIX_TIMESTAMP typuju použít nelze, systém běží na IIS a pracuje s MSSQL. díky! |
||
ShiraNai7 Profil |
#10 · Zasláno: 17. 6. 2008, 16:55:00
ninja
zbytecne to prevadet, kdyz to muze byt ve timestamp rovnou |
||
Časová prodleva: 16 let
|
0