ma un conto è dire che la stanza è disponibile per la prenotazione, un conto è che la stanza sia prenotata o non disponibile... cioè l'utnete ti può dire che una stanza è disponibile:
1) sempre (tutto l'anno tutti i giorni dell'anno per tutta la vita)
2) solo alcuni giorni della settimana
3) solo alcuni giorni della settimana di alcuni mesi
4) solo alcuni mesi
5) solo in alcune date ben specificate
questo è quello che devi rappresentare in una tabella del database. e ognuna delle opportunità sarà una riga nel database volendo
poi per la visualizzazione:
quando crei il calendario vedi:
1) se la stanza è disponibile alla prenotazione, vai al punto 2, altrimenti vai al punto 3
2) se la stanza è prenotata, stampi che non è disponibile, altrimenti stampi che è disponibile, vai al punto 4
3) stampi che non è disponibile
4) fine
ovviamente a seconda di come salverai la disponibilità della stanza nel database, sarà piu o meno semplice il punto 1. Ad esempio:
stanza_id, always, from, to, day, wdays, month, months,year, years, types
e ti ritrovi per i punti indicati sopra, per la stanza con id 1:
1) 1,1,null,null,null,null,null,null,null,2010,null,1 (è sempre disponibile nel 2010..range di anni potresti metterli in years)
2) 1,0,null,null,null,0:2:4,null,null,2010,null,2 (è disponibile domenica,martedì e giovedi nel 2010)
3) 1,0,null,null,null,0:2:4,null,1:2:4,2010,null,3 (è disponibile la dom,mar e mer dei mesi gen,feb,marz nell'anno 2010)
4) 1,0,null,null,null,null,null,1:2:4,2010,null,4 (è disponibile solo a gen,feb,marz nel 2010)
etc. Così tanto per esempio, puoi ragionarci meglio sopra per trovare anche una soluzione piu comoda per le query, però potrebbe essere uno spunto.
ps: non mi mandare pvt grazie![]()