Ok, cini mi se da sam resio problem (nisam jos isprobao, ali bi trebalo da radi). Naime, MySQL podrzava u potpunosti poredjenje datuma u upitu.
Tako da, korisnike koji imaju od 0-12 godina selektujem ovako:
Code:
// Uzimamo danasnji dan + 1 dan vise:
$danas = date("Y-m-d", strtotime("+1 day")); // $danas dobija ovakvu vrednost(u slucaju danasnjeg dana): 2008-09-09
// Uzimamo datum od pre 12 godina (minus) -1 dan
$unazad = date("Y-m-d", strtotime("-12 year -1 day")); // $unazad = 1996-09-07
// Pravimo upit:
$query = "SELECT * FROM tabela WHERE datum_rodjenja BETWEEN '$unazad' AND '$danas'";
I tako dobijamo sve korisnike koji imaju od 0 (zvuci glupo, ali jbg :P) do 12 godina :-)
Btw, verovatno nekima nije jasno zasto uzimam danasnji dan + 1 i 12 godina unazad pa i dan unazad. Zato sto sam slucajno (sva sreca) video da u ovu pretragu nece biti ukljuceni datumi koji su zadati u uslovu BETWEEN. Tako da, da sam stavio tacno danasnji dan, i danasnji dan pre 12 godina, i da se potrefi da je neko rodjen na danasnji dan ili danasnji dan pre 12 godina, on ne bi ispunjavao zadati uslov :-)
P.S. Pokusavao sam da resim i preko timestamp-a, ali problem je sto ne mogu da nadjem Unix timestamp za 1920.-u godinu npr (znam da racuna sekunde u odnosu na 1970.-u godinu, ali sam mislio da ispod toga ide sa minusom) ....
P.P.S. Sve ove manipulacije (dan plus, dan minus, 10 godina unapred, 10 godina unazad, ....) mogu da se izvrse i direktno u MySQL Upitu (ako nekog zanima, evo kompletna lista funkcija za obradu vremena i datuma -
http://dev.mysql.com/doc/refma...ions.html#function_date-format), ali ipak mi nekako lepse/lakse u PHP-u :-))
P.P.P.S. Nadam se da ce nekom ovaj post biti od pomoci :-)