Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1

    listino prezzi con date a cavallo di 2 periodi

    Buon Sabato a tutti,
    ho un form in cui indico due date: dal - al
    la pagina asp che segue dovrebbe calcolarmi la differenza tra le due date e questo lo ottengo con DateDiff.

    nel caso in cui però le due date dal e al appartengano a due periodi diversi dovrei avere un risultato in giorni tra la variabile "dal" e la fine del primo periodo e tra l'inizio del secondo periodo e la variabile "al".
    Ovviamente questo mi serve per poter effettuare il calcolo come nel caso di un albergo.

    mi aiutate per favore? :master:
    ---------------------------
    danielix05

  2. #2

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Cosa sono i "periodi" per te?

    Roby

  4. #4

    ciao ragazzi

    ...facciamo un esempio di un listino...

    periodo: A
    dal: 22/02 al 29/02
    costo: euro 40,00/a persona al giorno

    periodo: B
    dal: 01/03 al 07/03
    costo: euro 45,00/a persona al giorno

    periodo: C
    dal: 08/03 al 14/03
    costo: euro 50,00/a persona al giorno

    ecc....

    un utente vuole sapere quanto costa un soggiorno x 2 persone dal 22 al 29/02 (periodo A)
    con datediff ottengo 7gg x 40 x 2persone.

    se lo stesso utente vuole fare una vacanza di 14 gg, quindi, dal 22/02 al 07/03, periodo A + periodo B, dovremmo avere un datediff che discrimini il fatto che dei 14gg totali la I sett sia periodo A (quindi 7gg x 40) mentre la II sett ( i restanti 7 gg) ricada nel periodo B (45x7)

    ormai è un caso solo scolastico :-) ma potrebbe succedere che lo stesso utente voglia conoscere il costo per 3 settimane che ricadono in 3 differenti periodi.

    spero di essere stato più chiaro.

    grazie.

    che un utente voglia conoscere il costo di un soggiorno (che per forza di minimo 7 giorni) da domenica 22 febbraio alla successiva domenica
    ---------------------------
    danielix05

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non hai molte alternative.
    Devi controllare quanti periodi intercorrono tra l'arrivo e la partenza ed agire di conseguenza.

    Roby

  6. #6

    ...

    ciao roby_72
    Devi controllare quanti periodi intercorrono tra l'arrivo e la partenza ed agire di conseguenza
    potresti spiegarmi meglio?
    ---------------------------
    danielix05

  7. #7

    qualche riflessione in più

    ...ciao a tutti, non so se considerare il vostro silenzio come "veditela da solo... non ti possiamo fare il codice noi..."

    cmq ho fatto qualche riflessione.

    secondo voi come va questo ragionamento?

    1. creo una tabella |periodo|giorno|costo|sconto|
    2. nel popolarla, se scelgo una stagionalità (o periodo che dir si voglia) ad esempio dal 22-2 al 27-2, si generano tante righe quanti sono i giorni. In questo caso 6 righe del tipo
    |periodo|giorno|costo|sconto|
    A | 22-2| 40| 5
    A | 23-2| 40| 5
    A | 24-2| 40| 5
    A | 25-2| 40| 5
    A | 26-2| 40| 5
    A | 27-2| 40| 5
    e via dicendo per tutti gli altri periodi
    3. al momento dell'interrogazione creo una query che faccia una SUM(costo) dove la data è compresa tra request.form("dal") e request.form("al") tramite Between

    che ne pensate?
    ---------------------------
    danielix05

  8. #8

    c'è nessuno?

    ---------------------------
    danielix05

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    assolutamente sbagliato il tuo db si appesantirebbe molto...

    scrivi i periodi a gruppi nel db :

    data1 data2 costo
    20/07/2009 30/08/2009 30
    30/08/2009 20/09/2009 40


    fai una query che tiri fuori i dati in cui il periodo è incriminato...

    a quel punto fai un ciclo controllando ogni singolo giorno del periodo richiesto.
    sommi il costo giorno per giorno e il gioco è fatto.


    facile no
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  10. #10
    Originariamente inviato da agenti
    assolutamente sbagliato il tuo db si appesantirebbe molto...
    365 record appesantiscono un db!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.