2 messaggi dal 15 febbraio 2008
Salva a tutti, ho un problema che devo risolvere assolutamente, devo programmare un calcolo di preventivo online per un albergo.
Il problema è il seguente:
Ho una pagina dove l'utente compila un modulo inserendo la data di ceckin e di ceckout della prenotazione ed il numero di adulti che dovranno effettuare la vacanza. Questa pagina passa questi valori mediante metodo get alla pagina che calcolerà il preventivo. Avendo data inizio e data fine soggiorno devo riuscire a far eseguire alla pagina una funzione che capisca in quale periodi di listino si farà la vacanza.
Avendo queste variabili come posso sviluppare la funzione?

Prezzo_PeriodoA= 65
Prezzo_PeriodoB= 75
PeriodoA= compreso tra il 25/05/2009 e 27/06/2009
PeriodoB= compreso tra il 27/06/200/ e 11/07/2009
Ceckin= 15/06/2009
Ceckout= 30/06/2009
Num_adulti= 2

Il costo totale dovrà essere:
I Giorni totali della vacanza sono 15 di cui 12 nel periodoA e 3 nel periodoB, dunque mi deve ridare una variabile totale così composta
Prezzo_PeriodoA * 12gg * 2pax + Prezzo_PeriodoB * 3 * 2 = totale soggiorno
Vi prego aiutatemi a capire come cominciare per realizzare il calcolo del preventivo online. infinitamente grazie
87 messaggi dal 31 luglio 2001
devi fare un calcolo differenziato giorno per giorno e poi sommarlo

esempio del algoritmo

periodo soggiorno 10/05/2009 al 15/05/2009 (compreso)
adulti=2

listino
dal 01/05/2009 al 12/05/2009 costo 30euro
dal 13/05/2009 al 31/05/2009 costo 20euro

il listino lo metto in un db con una tabella cosi realizzata
TAB Listino ( ID_Listino AS PK Contatore, DataInizio_Listino AS Data, DataFine_Listino AS Data, Abilitato_Listino AS Boolean, CostoAdulti_Listino AS Currency)

----------------------------------------------------------------------------------------------------------
PROGRAMMAZIONE

'Imposto e inizializzo variabili

costo_preventivo=0

datainizio=CDATE("10/05/2009") 'il valore puo provenire anche da un form o una querystring
datafine=CDATE("15/05/2009") 'il valore puo provenire anche da un form o una querystrinG
adulti=CINT(2)

'Calcolo giorni
giorni_soggiorno=DateDiff("d", datainizio, datafine)

for i=0 to (giorni_soggiorno-1)
data_corrente=DateAdd("d", i, datainizio)

'Imposto e inizializzo variabili
trovata_fascia=false
fascia_prezzo=""

'Connessione DB e verifica periodo
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/mdb-database/listino.mdb")

strSQL = "SELECT * FROM Listino WHERE Abilitato_Listino=true"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn
Do While Not objRS.EOF

if trovata_fascia=false AND data_corrente>=objRS("DataInizio_Listino") AND data_corrente<=objRS("DataFine_Listino") then
trovata_fascia=true
fascia_prezzo=objRS("CostoAdulti_Listino")
end if

objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing

costo_preventivo=costo_preventivo+(fascia_prezzo*adulti)
next
----------------------------------------------------------------------------------------------------------

Spero di essere stato chiaro
Piero

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.