Autor Zpráva
a
Profil *
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
Proč to nenapsat přímo v SQL dotazu?
a
Profil *
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
Ukládal bych dnešní datum jako timestamp, s tím se pracuje o mnoho líp.
a
Profil *
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
"Ukládal bych dnešní datum jako timestamp, s tím se pracuje o mnoho líp."

To sotva. Leo
ninja
Profil
ShiraNai7: a MySQL funkce UNIX_TIMESTAMP a FROM_UNIXTIME() znas?!
ninja
Profil
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 *
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
ninja
zbytecne to prevadet, kdyz to muze byt ve timestamp rovnou

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: