Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    7

    Selezionare record compresi tra due date

    Ciao a tutti,
    ho un DB Mysql che interrogo con PHP, nel DB è presente un campo DATA nel formato giorno/mese/anno.
    Ho bisogno di selezionare tutti i record che hanno il campo data compreso tra giornoA/meseA/annoA e giornoB/meseB/annoB.
    Non ho la più pallida idea di come devo scrivere la query, potete darmi una mano?

    Ciao e Grazie in anticipo


  2. #2
    Guardati sul manuale la sintassi del between
    www.ntnet.it/xp <- Prova in flash
    utenti.tripod.it/guate <- Un mio 'viaggio' in guatemala
    www.aspcode.it <- Risorsa gratuita su ASP
    www.mmorpgitalia.it <- Il motore in php del network é una mia creazione, se qualcuno vuole dare una mano é il benvenuto.

  3. #3

    Re: Selezionare record compresi tra due date

    Originariamente inviato da leonuco
    Ciao a tutti,
    ho un DB Mysql che interrogo con PHP, nel DB è presente un campo DATA nel formato giorno/mese/anno.
    intanto se non sbaglio il formato data di mysql è anno-mese-giorno, dopodichè lo tratti come un numero cioè:

    ...WHERE $miadata > $data1 AND $miadata < $data2
    dove le variabili data sono naturalmente date in formato aaaa-mm-gg.

    ti sollecito inoltre a leggerti il tutorial su PILLOLE TRATTATE dal titolo "DATE/TIME e MySQL" sotto "DATABASE".
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    3

    anch'io ho un problema simile... am non capisco xchè non funziona... help!!!!!

    ho fatto due campi x l'iserimento di due date. con cerca deve cercare dentro un campo le date tra $chiave e chiave2... coma faccio.. a me no funziona... valore è una var data da un campo a scelta multipla dei campi del db...

    $dati=mysql_db_query("$database","SELECT * FROM nuke_imbarcazioni WHERE $valore LIKE '%$chiave%' and $valore > '%$chiave%' and $valore < '%$chiave2%' ORDER BY ID");
    $righe = mysql_num_rows ($dati);

  5. #5

    Problema simile

    Ragazzi, io ho un problema simile:

    A me la query funziona così:

    WHERE data BETWEEN '$Da' AND '$Aa'

    Solo che l'ultimo estremo non lo comprende, parte dal giorno successivo. Il primo estremo lo include e l'ultimo no VVoVe:

    Esiste un modo per includere anche l'estremo, più semplice di andarmi a calcolare il giorno successivo??(difficilissimo)!!

    Grazie!
    Paperina :-)

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Problema simile

    Originariamente inviato da Paperina(l4p)
    Ragazzi, io ho un problema simile:

    A me la query funziona così:

    WHERE data BETWEEN '$Da' AND '$Aa'

    Solo che l'ultimo estremo non lo comprende, parte dal giorno successivo. Il primo estremo lo include e l'ultimo no VVoVe:

    Esiste un modo per includere anche l'estremo, più semplice di andarmi a calcolare il giorno successivo??(difficilissimo)!!

    Grazie!
    mi sembra piuttosto strano...
    che tipo di campi sono?

  7. #7
    lo so che è strano. Sono campi di tipo timestamp.
    Paperina :-)

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Spiegati meglio.
    Il campo del db è di tipo timestamp, okay.
    E nelle stringhe che usi per il confronto cosa ci metti?

  9. #9
    Nelle stringhe che uso per il controllo ci metto la data nello stesso identico formato del timestamp, solo che ometto gli ultimi 9 caratteri (quelli dell'orario).

    E mi fa lo scherzetto che non mi include l'ultimo giorno
    Paperina :-)

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Naturale.
    Se quello è un timestamp, lui vuole un timestamp. Se tu ometti i caratteri dell'orario, lui considera la mezzanotte. Quindi se il valore nel db è, ad esempio, le 16 di oggi, e tu gli passi come date da 10 giorni fa a oggi, per lui le 16 di oggi è successivo alla mezzanotte di oggi, e quindi resta fuori.

    P.S. per mezzanotte intendo le 00.00.00, cioè l'inizio della giornata, non la fine

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 © 2024 vBulletin Solutions, Inc. All rights reserved.