» »

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
»

Access in malo večja baza

Oddelek: Programska oprema
7513 (408) |Luka|
»

[SQL] časovno obdobje

Oddelek: Programiranje
7681 (509) R33D3M33R
»

Excel in seštevanje/ od. časa

Oddelek: Programska oprema
93498 (3364) ToniT
»

urejanje - mysql -

Oddelek: Izdelava spletišč
6611 (527) darh
»

Izpis iz MySQL v html tabelo - problem

Oddelek: Izdelava spletišč
9669 (512) markz

Več podobnih tem