13. 04. 2012. | #11 |
Domagoj Horvat
Expert
|
Zasto to ne napravis na bazi? (pod pretpostavkom da $staff & $shift podatke cuvas u bazi)
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
"Hvala" dee za poruku: |
13. 04. 2012. | #12 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
Da, sve je bazi. Nemam ideju kako to da izvedem u MySQL. Postoje samo sati i dani (0,1,2...), ali ne i datumi. Da li je radnik zauzet u datom (ili trenutnom) vremenu, to bi moglo.
|
13. 04. 2012. | #13 |
Domagoj Horvat
Expert
|
Nisam dugo radio s MySQLom, ali ovo bi moralo voditi rjesenju:
http://dev.mysql.com/doc/refman/4.1/...ction_timediff ako je $start<$end, onda samo timediff. ako je $start>$end onda 24 - timediff($start, $end)
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od dee : 13. 04. 2012. u 20:30. |
13. 04. 2012. | #14 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
Da, da, radio sam tako, u PHP AFAIK postoji samo date_diff a ne time_diff... ali problem je što ja te podatke dobijam preko POST, a kada izračunam i sačuvam u bazu, neće mi trebati ponovno računanje. Hvala na predlogu.
|
14. 04. 2012. | #16 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
my cup runneth over to je ti je kad "barataš" statistikama, hvala
|
14. 04. 2012. | #18 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
Odlično. Izvini što smaram... Problem je što nije normalizovano, neko pametan je odlučio da napravi polja sa imenima dana (a polja u HTML formi sadrže iste nazive).
schedules Kôd:
+----+----------+----------+----------+--------+--------+---------+-----------+----------+--------+----------+ | id | staff_id | start | end | sunday | monday | tuesday | wednesday | thursday | friday | saturday | +----+----------+----------+----------+--------+--------+---------+-----------+----------+--------+----------+ | 1 | 66 | 21:00:00 | 03:00:00 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | +----+----------+----------+----------+--------+--------+---------+-----------+----------+--------+----------+ Kôd:
+----+-------------+------+----------+----------+ | id | schedule_id | day | start | end | +----+-------------+------+----------+----------+ | 3 | 1 | 6 | 21:00:00 | 00:00:00 | | 4 | 1 | 0 | 00:00:00 | 03:00:00 | +----+-------------+------+----------+----------+ PHP kôd:
|
14. 04. 2012. | #19 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Jebešga, ovo je baš ružno sa danima kao poljima. Ja bih tu napravio onda još jedan view koji bi normalizovao tu tabelu prvo, pa onda nad njom ovaj drugi view (s tim što ne bi bilo fiksno 1 i 2 kao dani, već day i day+1 iz ovog prethodnog viewa). Tako nešto.
Mada ja umem malo da preteram sa viewovima.
__________________
blog |
"Hvala" jablan za poruku: |
14. 04. 2012. | #20 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
Tačno tako, jebešga
Pazi ovo... 2012-4-29 24:00 je u stvari 2012-4-30, a u rezultatima se ne pojavljuje, to je 4 dana, valjda DATEDIFF ne može da parsira 24:00, kada pomjerim na 30., vraća da je 3, ali je u stvari 4 puna, [27, 28, 29, 30]. Da li je lakše getShifts uraditi sa SQL? PHP kôd:
|
|
|