» »

Shranjevanje časovnih intervalov

Shranjevanje časovnih intervalov

gufy123 ::

Pozdravljeni

Lotil sem se izdelave ene strani, kjer moram nekako shraniti časovne intervale v bazo. To si lahko predstavljate na primer kot zasedenost hotelske sobe. Delam v PHP in mySql, vprašanje pa je naslednje: kakšen je najbolj primeren način shranjevanja teh intervalov v bazo. Prikazovali se bodo na nekem koledarju.
a) Naj imam tabelo z datum_od in datum_do ?
b) Naj v tabelo shranim vse datume med datum_od in datum_do? To bi bilo verjetno še najbolj praktično zaradi preverjanja zasedenosti pri dodajanju novega intervala (soba ne more biti 2x zasedena).
c) kaj drugega?

lep pozdrav

Arto ::

Odvisno od tega, kaj ostalo še rabiš. Lahko bi imel npr. tabelo oblike

hotel_id | room_number | date_from | date_to

Pomoje bi blo tko čis kul.

gufy123 ::

Ma nič ekstra ne rabim. Prikaz koledarja z zasedenostjo. Pa pri vnašanju mora seveda bit kontrola, da soba še ni zasedena, ko želiš nekaj vnesti. Kakšen bi bil v tem primeru query za to kontrolo?

ales85 ::

Lahko zapišeš vse zasedene dni, lahko pa v stavku izračunaš kateri so zasedeni in to primerjaš

SELECT zacetni_datum + INTERVAL t.i*100 + u.i*10 + v.i DAY AS Date 
FROM sys_ints AS t  
JOIN sys_ints AS u 
JOIN sys_ints AS v,
WHERE ( t.i*100 + u.i*10 + v.i ) < (DATEDIFF(koncni_datum, zacetni_datum)+1)


EDIT:
Če nimaš tabele sys_ints jo pa narediš in vstaviš cifre od 0-9 (torej 10 vrstic) samo en stolpec.

Zgodovina sprememb…

  • spremenil: ales85 ()

gufy123 ::

Super, hvala! Na prvi pogled zgleda kr neki ta query ampak deluje pa fajn
lp


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL rabim pomoč

Oddelek: Programiranje
71085 (920) VelikiJanez
»

SQL query za datume, ki se ne prekrivajo

Oddelek: Programiranje
212465 (2096) omnimint
»

Statistika dijakov, pomoc

Oddelek: Programiranje
211665 (1149) Mitja Bonča
»

podatkovna baza

Oddelek: Programiranje
51927 (1748) scarymovie
»

Access in malo večja baza

Oddelek: Programska oprema
71021 (916) |Luka|

Več podobnih tem