Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MYSQL] Modifica query controllo date

    Ciao ragazzi,
    uso la seguente query per controllare che un aula non sia già prenotata nei giorni richiesti via form:

    Codice PHP:
        $query "SELECT id FROM calendario_corsi  
                  WHERE id_aula = '"
    .$id_aula."' AND
                  '"
    .$data_inizio."' <= data_fine AND
                  '"
    .$data_fine."' >= data_inizio
                  "

    Il problema è che se voglio prenotare due lezioni consecutive tipo

    08-10
    10-12

    il sistema di controllo mi restituisce errore perché 10 coincide con la data fine della lezione precedente. Come posso modificare la query per fare in modo che non ci siano doppioni ma che questa situazione venga considerata possibile?

    Grazie mille
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    che tipo di campi sono data_fine e data_inizio?

  3. #3
    Se togli gli uguali?

  4. #4
    @antonius
    DATETIME

    @diuzza
    avevo provato in passato ma non fungeva, ora riprovo magari avevo sbagliato qualcos'altro

    Thx
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  5. #5
    è che devi gestirla in maniera diversa:

    ti dici periodi

    9:00 - 10:00
    10:00 - 12:00

    Ma in realtà quello che devi andare a settare è:

    9:00:00 - 9:59:59
    10:00:00 - 11:59:59

    La data di fine deve essere DENTRO il range, non FUORI. Altrimenti avrai sempre questo problema.

  6. #6
    Mi stai dicendo, che quando salvo la data di fine, lo faccio con un secondo meno?

    Se è così dovrò cambiare un po' di cose, altrimenti nei calendari ci sarà 09:00-09:59!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  7. #7
    no, quello che voglio dire è che devi considerare i range con i limiti tali che NON collidano.
    Chiaramente, se salvi una righa
    codice:
    |----------------------------------------------------------|
    | id | id_aula |     dataInizio      |       dataFine      |
    |----------------------------------------------------------|
    | 1  |    1    | 2008-09-17 09:00:00 | 2008-09-17 09:59:59 |
    |----------------------------------------------------------|
    Poi dovrai sempre aggiungere 1 secondo alla data corretta.

    Ma questo è il modo corretto di fare le cose, sennò non ha senso se due prenotazioni collimano nello stesso momento, fosse anche solo per un secondo.

  8. #8
    Ok, chiaro. Procedero con la modifica.

    Se avrò problemi, ti faccio sapere!

    Grazie!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

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.