[ Nemanja Avramović @ 31.01.2005. 12:14 ] @
Ljudi, treba mi skripta koja ce uporedjivati datum i vreme da vidi da li je jedan stariji 5 minuta od drugog (tacnije da mi `izvadi` broj minuta koliko je stariji). Nesto kao `who is online` na forumu... nema bas puno veze ovo sto zelim da uradim, ali tu je negde...

pomoc?
[ Milos Stojanovic @ 31.01.2005. 12:32 ] @
? Nije baš jasno.
Ako imaš neke $datumVreme1 i $datumVreme2 koje dobijaš pozivom
Code:
$datumVreme1 = time();

onda samo treba da postaviš uslov
Code:
if ($datumVreme2 - $datumVreme1 >= 300)

i to je to?
[ Nemanja Avramović @ 31.01.2005. 13:26 ] @
do sada sam radio u delphiju, a tamo, veruj, nije tako lako

anyway... hvala!
[ broker @ 31.01.2005. 13:53 ] @
Isto je i u Delphiju samo sto je u njemu merna jedinica dan pa ako ti treba u minutima moras vrednost da pomnozis sa (24 * 60)
[ Nemanja Avramović @ 31.01.2005. 14:12 ] @
hm hm... mozda

anywayZ, kako se ovo ponasa kod prelaska na novi dan? npr. ako je sacuvano vreme u 23:58h pa se provera izvrsi u 00:03h

nece biti problema?
[ Milos Stojanovic @ 31.01.2005. 14:14 ] @
Nemaš problema jer time() funkcija
Citat:
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).
[ Nemanja Avramović @ 31.01.2005. 17:37 ] @
tako sam i mislio (imam ceo ovaj fajl sa helpom, 10mb, ali me mrzelo da cekam do ponoci da probam :)
[ Tandrcak90 @ 20.04.2009. 03:04 ] @
Posto sam nov na forumu zelim, pre svega, da vas sve pozdravim ;)

E a sada da predjem na problem, vezan za php i mysql upit
Pravim jedan sajt i lepo mi islo, dok nisam stigao do prikazivanja repertoara za pozoriste
preko mysql upita sam pozvao predstave za danasnji dan

Code:
 $sql_d=mysql_query("SELECT * FROM `predstave` WHERE `datum_pocetka` = '$danasnji_datum' ORDER BY `datum_pocetka` ASC LIMIT $from, $broj_prikaza") or die(mysql_error()); 


i to radi super, ali me zeza kada hocu da pozovem ostale najave, znaci da prikaze samo one predstave gde je datum pocetka veci od danasnjeg datuma
probao sam preko sledeceg upita

Code:
 $sql_o=mysql_query("SELECT * FROM `predstave` WHERE `datum_pocetka` > '$danasnji_datum' ORDER BY `datum_pocetka` ASC LIMIT $from, $broj_prikaza") or die(mysql_error()); 


ali to ne radi kako treba, tacnije uporedjuje samo dane

na primer:

danasnji datum je: 20.04.2009.
upit ce izbaciti predstave zakazane za 21.04.2009., 23.04.2009., 27.05.2009., 28.05.2009.
ali nece izbaciti predstave zakazane od 01.05.2009. - 19.05.2009.

Zna li neko u cemu je problem?
[ Tandrcak90 @ 20.04.2009. 03:17 ] @
nasao sam problem :)

greska je bila u kreiranju baze, bio sam stavio za tip datuma TEXT umesto DATE, sada radi sve kako treba...mada mi malo ide na zivce datum oblika yyyy-mm-dd

Izmena:
Pronasao sam i funkciju za konvertovanje koja radi na verzijama PHP 5 >= 5.1.0

Za upis ide ovako
Code:
$datum ='20.04.2009';
$dateTime = new DateTime($date);
 
$formatiran_datum=date_format ( $datum, 'Y-m-d' );



za citanje samo obrnuto

Code:
$datum ='2009-04-20';
$dateTime = new DateTime($date);
 
$formatiran_datum=date_format ( $datum, 'd.m.Y );



[Ovu poruku je menjao Tandrcak90 dana 20.04.2009. u 05:12 GMT+1]

[Ovu poruku je menjao Tandrcak90 dana 20.04.2009. u 05:29 GMT+1]
[ Nikola Poša @ 20.04.2009. 09:56 ] @
Ne znam samo kako si povezao ovu temu staru više od 4 godine sa tim tvojim problemom... :) A i to tvoje pitanje je više bilo za MySQL forum.

btw Bolja varijanta je da promenu formata datuma radiš u MySQL-u (f-ja DATE_FORMAT), ali onda moraš eksplicitno da naglasiš kolonu koju formatiraš, npr.
Code:

SELECT naziv, DATE_FORMAT(datum_pocetka, 'd.m.Y.') AS 'datum' 
FROM predstave
WHERE datum_pocetka > '$danasnji_datum' 
ORDER BY datum_pocetka

Sad već imaš spreman datum, i ne moraš u PHP kodu da radiš konverziju...