DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   2 pitanja u vezi MySQL-a i PHP-a u vezi datuma (http://www.devprotalk.com/showthread.php?t=5595)

misko_ 14. 06. 2008. 21:46

2 pitanja u vezi MySQL-a i PHP-a u vezi datuma
 
Cao,

Imam tablicu u MySQL-u kojo je jedan od podataka tipa date.
Kako da ja sada selektiram redak kojemu je taj datum najstariji.
Znaci ako imam 2 redka i jednome je datum 2008-12-25, a drugome je 2008-12-26, da se meni vrati redak od 2008-12-26.

Kako da mi se u PHP-u vrate svi datumi ižmeđu 2 datuma.
Npr. imam datum 2008-12-25 i 2008-12-27 ja bih želio da mi se vrati aray od
2008-12-26
2008-12-27
2008-12-28
Da li postoji neka gotova funkcija za to ?

HVALA

bluesman 14. 06. 2008. 22:39

Sa datumima mozes da radis kao sa stringovima

1. ... ORDER BY datum ASC
2. ... WHERE datum >= '2008-12-15' AND datum <= '2008-12-17' ORDER BY datim
ili koristi BETWEEN

ivanhoe 15. 06. 2008. 17:13

A mozes i max() i min() funkcije da koristis na datumima, to radi veoma brzo na indexiranim poljima (prakticno trenutno jer se ne radi upit, nego mysql to interno cuva za svaku tabelu) :

SELECT * FROM tabela WHERE datum=(SELECT MAX(datum) FROM tabela);

Ova forma je zgodna ako ne znas unapred koliko tih "najnovijih" rekorda imas, jer onda ne mozes da stavis LIMIT

jablan 15. 06. 2008. 18:26

Što se tiče dobijanja niza svih datuma između dva zadata, ne znam za PHP (naći će se neko već), ali u Rubiju ide ovako (sorry za showoff):
Kôd:

(d1..d2).to_a
:)

bluesman 15. 06. 2008. 18:35

vrlo citko i jasno

misko_ 15. 06. 2008. 22:24

Citat:

Originalno napisao ivanhoe (Napišite 56328)
A mozes i max() i min() funkcije da koristis na datumima, to radi veoma brzo na indexiranim poljima (prakticno trenutno jer se ne radi upit, nego mysql to interno cuva za svaku tabelu) :

SELECT * FROM tabela WHERE datum=(SELECT MAX(datum) FROM tabela);

Ova forma je zgodna ako ne znas unapred koliko tih "najnovijih" rekorda imas, jer onda ne mozes da stavis LIMIT

Pronasao sam da sljedeci puti obavlja posao
PHP kôd:

                $sql_query "SELECT ID, TL_BROJ, UTVRDENA, PRIMJENJENA, ROW_ADD 
                              FROM hnb_tecajna_lista 
                              ORDER BY UTVRDENA DESC 
                              LIMIT 1"


Zamjenim sa tvojim radi brzine...

misko_ 15. 06. 2008. 22:27

Zar je istina da PHP ima tako lošu podršku za datume ???
 
Citat:

Originalno napisao jablan (Napišite 56330)
Što se tiče dobijanja niza svih datuma između dva zadata, ne znam za PHP (naći će se neko već), ali u Rubiju ide ovako (sorry za showoff):
Kôd:

(d1..d2).to_a
:)

Evo ja sam traio po http://www.php.net/manual/en/refs.calendar.php
i koliko se meni čini takva funkcija uopće ne postoji u PHP-u, ili je ja nisam uspio pronaći.

Treba mi i da uporedim koji je od dva datuma veći, nešto tipa
if ($sadašnji_datum => datum_prijene)
i izgleda da PHP nema ništa ni za to, ma svašta...

zira 15. 06. 2008. 22:56

Za dobijanje niza svih datuma mozes koristiti ovako nesto:

http://boonedocks.net/mike/archives/...-with-PHP.html

Inace, postoji range() funkcija u PHP, ali ne i za datume.

Sto se tice poredjenja datuma, ukoliko su u unix timestamp formatu ili MySQL formatu, radice bas to kako sti stavio, nista ti vise ne treba.

Ilija Studen 15. 06. 2008. 23:08

PHP podrška za rad sa datumom i vremenom je blagi užas. Tačnije - gotovo da je i nema. Za sve živo moraš sam da se dovijaš. Nije da je to neki ogorman problem kada naučiš par trikova, ali ne bi bilo loše da sam jezik dolazi sa ekstenzijom koja je tome posvećena.

cvele 16. 06. 2008. 13:57

Licno volim da belezim cist php time stamp, pa onda pomocu to_date fje da radim sta i kako mi treba. Sto se tice performansi nije bas najsrecnije, ali je veoma prakticno


Vreme je GMT +2. Trenutno vreme je 15:02.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.