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

    [MYSQL] Query intervallo date

    Ciao a tutti, mi sono incasinato con una query. Ho la seguente tabella con il calendario di alcuni corsi:

    Codice PHP:
    CREATE TABLE IF NOT EXISTS `calendario_corsi` (
      `
    idint(5NOT NULL auto_increment,
      `
    data_iniziodatetime NOT NULL,
      `
    data_finedatetime NOT NULL,
      `
    id_aulaint(5NOT NULL,
      `
    id_corso_programmatoint(5NOT NULL,
      
    PRIMARY KEY  (`id`)

    Voglio sapere se tra un giorno x e un giorni y ci sono attività.

    Ho provato così:

    Codice PHP:
    SELECT calendario_corsi.idcalendario_corsi.id_aulacalendario_corsi.id_corso_programmato,
    DATE_FORMAT(calendario_corsi.data_inizio'%d/%m/%Y') AS data,
    DATE_FORMAT(calendario_corsi.data_inizio'%h:%i') AS ora_inizio,
    DATE_FORMAT(calendario_corsi.data_fine'%h:%i') AS ora_fine FROM calendario_corsi
    WHERE 
    (calendario_corsi.data_inizio BETWEEN '".$data_inizio."' AND '".$data_fine."'
    AND (
    calendario_corsi.data_fine BETWEEN '".$data_fine."' AND '".$data_inizio."'
    e così:
    Codice PHP:
    SELECT calendario_corsi.idcalendario_corsi.id_aulacalendario_corsi.id_corso_programmato,
    DATE_FORMAT(calendario_corsi.data_inizio'%d/%m/%Y') AS data,
    DATE_FORMAT(calendario_corsi.data_inizio'%h:%i') AS ora_inizio,
    DATE_FORMAT(calendario_corsi.data_fine'%h:%i') AS ora_fine FROM calendario_corsi
    WHERE 
    ".$data_inizio." <= calendario_corsi.data_fine AND ".$data_fine." >= calendario_corsi.data_inizio 
    ma senza fortuna...

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

  2. #2
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    datainizio e datafine in che formato li passi?
    hai bisogno anche degli orari nella data?

    io userei i timestamp
    C'è chi si mette degli occhiali da sole, per avere più carisma e sintomatico mistero.

  3. #3
    Li passo nel formato datetime di mysql ovvero anno-mese-giorno.

    Si gli orari mi servono, infatti li recupero con il dateformat...
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    fai un print della query completa dei valori che passi, per vedere effettivamente che query elabora e poi mettila qui
    C'è chi si mette degli occhiali da sole, per avere più carisma e sintomatico mistero.

  5. #5
    Avevo invertito la data_fine con data_inizio...

    ecco la versione corretta:
    Codice PHP:
    SELECT calendario_corsi.idcalendario_corsi.id_aulacalendario_corsi.id_corso_programmato,
    DATE_FORMAT(calendario_corsi.data_inizio'%d/%m/%Y') AS data,
    DATE_FORMAT(calendario_corsi.data_inizio'%h:%i') AS ora_inizio,
    DATE_FORMAT(calendario_corsi.data_fine'%h:%i') AS ora_fine FROM calendario_corsi
    WHERE 
    (calendario_corsi.data_inizio BETWEEN '".$data_inizio."' AND '".$data_fine."')
    AND (
    calendario_corsi.data_fine BETWEEN '".$data_inizio."' AND '".$data_fine."'
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  6. #6
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    lo sai che notavo questa ambiguità e non ti ho detto niente perchè pensavo che per un oscuro motivo intercambiassi le variabili... con la stampa della query di solito si rivolve sempre... si notano con facilità anche gli errori di distrazion eehehehe
    C'è chi si mette degli occhiali da sole, per avere più carisma e sintomatico mistero.

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.