Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    96

    verifica disponibilità all'interno di una database

    Buongiorno a tutti,
    sono impegnato nella realizzazione di uno script che gestisca varie prenotazioni di camere d'albergo basandosi su di un database.
    la tabella di database che ho creato contiene i seguenti campi:
    - Anno
    - Mese
    - uno
    - due
    - tre
    - quattro
    .
    .
    .
    .
    .
    - trentuno
    - ID camera
    come potete notare nella tabella oltre ai campi che contraddistinguono il numero della camera, l'anno ed il mese abbiamo tanti campi quanti sono i giorni del mese ed il cui valore associato sarà 'occupato' o 'libero' a seconda se la camera in quel particolare giorno sia disponibile o meno. Adesso per verificare se una camera sia libera o meno in un precisato periodo di tempo voglio procedere nella maniera seguente:
    prelevo da due appositi form due date (una di arrivo ed una di partenza) sotto questa forma:

    gg/mm/aaaa

    La mia intenzione è quella, tramite le operazioni sulle stringhe di separare il giorno, il mese e l'anno ed in base al risultato ottenuto andare a fare la ricerca all'interno del mio database.

    Allora il problemino dove si pone...? Avete qualche suggerimento da darmi per verificare se c'è disponibilità o meno nel periodo che vado ad indicare nei form?

    grazie,

  2. #2
    IMHO, e' sbagliata la progettazione del db (tra l'altro ti trovi un bel 31 aprile, un 30 febbraio ecc...)

    usa almeno 2 tabelle: una per le camere, e l'altra con i giorni di prenotazione...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    96
    grazie optime per il suggerimento...potresti darmi qualche dettaglio in più su come operare?

    grazie

  4. #4
    su cosa? su come progettare il db? o su come interrogarlo? in generale, se progetti bene il db, poi il lavoro e' molto piu' semplice...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    96
    ..diciamo su come interrogalro...perche in pratica si potrebbe presentare un periodo a cavvlo tra due mesi come ad esempio 20/08 - 10/09...

  6. #6
    SELECT elenco_campi FROM tabella_date WHERE campo_data >= data_inizio AND campo_data <= data_fine

  7. #7
    io avrei fatto solo una tabella con le prenotazioni:
    -IdCamera
    -Data
    -PrenotataDa (per indicare da chi è prenotata )

    se esiste il record la camera è prenotata, per la ricerca basta che fai
    codice:
    SELECT IdCamera 
    FROM Prenotazioni
    WHERE Data>=[Tua_Data_Da] AND Data<=[Tua_Data_A]
    che ti indica tutte le stanze con goirni prenotati nel periodo.


    Se vuoi le stanze non prenotate nel periodo:
    codice:
    SELECT * 
    FROM Camere
    WHERE idCamera NOT IN 
       (SELECT IdCamera 
        FROM Prenotazione WHERE Data>=[Tua_Data_Da] AND Data<=[Tua_Data_A])

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    96
    Ragazzi,
    scusate ho provato questo codice per vedere se funziona ma nulla ho schermata vuota:

    <%
    Tua_Data_Da = "10/08/2004"
    Tua_Data_A = "13/08/2004"
    set Con = Server.CreateObject("ADODB.Connection")
    strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("nomedatabase.mdb")
    Con.open strconnect

    sqlString = "SELECT * FROM Prenotazioni WHERE datai>=" &Tua_Data_Da& "AND Dataf<="&Tua_Data_A
    Set RS = Server.CreateObject( "ADODB.Recordset" )
    RS.Open sqlString, Con
    WHILE NOT RS.EOF

    Response.write RS("IDcamera")

    RS.MoveNext
    WEND
    %>

    considerate che ho fatto la prova con all'interno del database questi due valori:

    datai = 10/08/2004
    dataf = 15/85/2004

    il risultato che mi restituisce è pagina vuota...starò sbagliando qualcosa nel codice?

    grazie

  9. #9
    se datai e' in formato data/ora, la data va racchiusa tra #

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    96
    ho cambiato la stringa sql in questo nuova forma:

    sqlString = "SELECT * FROM Prenotazioni WHERE datai>=#" &Tua_Data_Da& "#AND Dataf<=#"&Tua_Data_A& "#"

    però il risultato è sempe lo stesso...mi da pagina bianca

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.