Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[PHP+MySQL] Consiglio gestione prenotazioni e disponibilità

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

[PHP+MySQL] Consiglio gestione prenotazioni e disponibilità

Messaggioda BlackJack » mer lug 04, 2012 1:15 pm

Ciao a tutti, questa volta non chiedo uno script o di intervenire su un codice, ma un consiglio su come impostarlo.
Sto scrivendo un applicazione per la gestione delle prenotazioni di un rifugio alpino, ed è quasi tutto completato. Devo ora implementare la parte forse più complessa, quella del controllo della disponibilità.

Ho una tabella chiamata 'sistemazioni' con le seguenti colonne:
id_sistemazione | numero_sistemazioni | posti

Dove 'id_sistemazione' è un numero univoco che assegno alla tipologia di sistemazione. 'numero_sistemazioni' è il numero di stanze totale, e 'posti' è la capienza di ogni stanza.


Nella tabella prenotazioni, le colonne fondamentali legate alle sistemazioni sono queste:
id_sistemazione | partecipanti | data_Arrivo | data_Partenza

Dove 'id_sistemazione' è un numero della tipologia di sistemazione scelta, 'partecipanti' è il numero di occupanti, e le date sono quella di arrivo e quella di partenza.


Quello che vorrei fare è una pagina in cui visualizzare quante sistemazioni sono disponibili in una certa data, o in una range di date.


Qualcuno ha qualche idea su come impostare questo script? Ripeto, non vi sto chiedendo il codice fatto e finito, ma solo sapere come voi impostereste un sistema del genere.
Grazie a tutti, a presto.
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: [PHP+MySQL] Consiglio gestione prenotazioni e disponibil

Messaggioda Ginho » gio lug 12, 2012 10:07 am

prova questo (aspetta comunque il parere degli altri, per sicurezza),

SELECT * FROM prenotazioni WHERE id_sistemazione = sistemazioni.id_sistemazione HAVING partecipanti = 0 ORDER BY data BETWEEN data_Arrivo AND data_Partenza


il campo data non l'ho trovato, ma non sapevo come altro fare.

[ciao]
App: https://play.google.com/store/apps/details?id=it.economiasprint
Avatar utente
Ginho
Silver Member
Silver Member
 
Messaggi: 1344
Iscritto il: gio lug 21, 2011 12:28 pm
Località: Ferrara

Re: [PHP+MySQL] Consiglio gestione prenotazioni e disponibil

Messaggioda BlackJack » gio lug 12, 2012 6:10 pm

Se non erro così mi stampa tutte le sistemazioni con partecipanti = 0 e le ordina per data di arrivo, e partenza.
Innanzi tutto non esisterebbe una riga con partecipanti = 0, poichè vengono aggiunte solo quando viene effettuata una prenotazione, quindi sarebbe impossibile averne una con 0 partecipanti.

Inoltre così mi stamperebbe tutte le prenotazioni ordinandole per data, che non è quello che mi serve. A me serve che, partendo da una data di arrivo e partenza controlli se ci sono sistemazioni disponibili.

Grazie comunqe Ginho.
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli


Re: [PHP+MySQL] Consiglio gestione prenotazioni e disponibil

Messaggioda Ginho » gio lug 12, 2012 6:53 pm

BlackJack ha scritto:poichè vengono aggiunte solo quando viene effettuata una prenotazione, quindi sarebbe impossibile averne una con 0 partecipanti.


avevo capito male [acc2]

adesso dovrebbe andare, altrimenti rinuncio [:D]

Codice: Seleziona tutto
SELECT * FROM prenotazioni WHERE id_sistemazione = sistemazioni.id_sistemazione  BETWEEN data_Arrivo AND data_Partenza.


solo che non riesco a testare se questa query funziona, quindi scusa in anticipo

comunque dopo basta metterci un mysql_num_rows, e stampi tutte le sistemazioni disponibili.

[ciao]
App: https://play.google.com/store/apps/details?id=it.economiasprint
Avatar utente
Ginho
Silver Member
Silver Member
 
Messaggi: 1344
Iscritto il: gio lug 21, 2011 12:28 pm
Località: Ferrara

Re: [PHP+MySQL] Consiglio gestione prenotazioni e disponibil

Messaggioda BlackJack » gio lug 12, 2012 7:18 pm

Troppo semplice!
Se io ho una sola stanza (per semplificare il discorso) prenotata dal 10 al 20, e un cliente cerca di prenotare dal 9 al 21, la tua query dovrebbe essere ok. Ma se cerca di prenotare ad esempio dal 12 al 15, o dal 8 al 22, o ancora dal 15 al 23, non restituisce niente, mostrando la stanza libera, cosa che invece non è.
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli

Re: [PHP+MySQL] Consiglio gestione prenotazioni e disponibil

Messaggioda BlackJack » gio lug 12, 2012 8:46 pm

Ho un'idea: cambio un po' il modo di impostare la tabella prenotazioni.
id | data | sistemazione | occupanti | disponibili

Se il cliente effettua una prenotazione dal 12 al 13 nella "camera singola", il sistema controlla il database per per la data 12, e non trova nessun record.
Quindi procede all'inserimento del record per tutte le date comprese nella prenotazione, e settando il numero di disponibili a 0.

Potrebbe essere un idea secondo voi?
Un giorno ho messo un disco di Jimi Hendrix e mio figlio ha chiesto: ‘Papà, chi è?’. Io ho risposto, ‘Figlio mio, questo è Dio’. Robert Plant, Led Zeppelin
Avatar utente
BlackJack
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1811
Iscritto il: gio mag 06, 2010 7:47 pm
Località: Prov. Vercelli


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising