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

    Controllo data su MySQL

    Ciao a tutti
    il problema che ho e' il seguente:
    su una tabella in un db ho, per ogni record, giorno mese e anno come tre colonne distinte.
    Ho poi una pagina che deve permettere di filtrare questi dati in base appunto a un intervallo di date. L'utente pero non e' obbligato a specificare sia il mese che il giorno, ma potrebbe anche specificare solamente il mese.

    Sapete se ci puo essere un modo rapido e furbo per farlo con PHP+MySQL?

    Grazie
    Ciao!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Hai deciso di mettere le tre colonne separate solo per via di questa ricerca?
    Se non hai altri motivi allora potresti prendere in considerazione di usare il campo date di mysql e generare le query in modo adeguato.
    Ad esempio
    Codice PHP:
    //costruisco il giorno per l'inizio dell'intervallo
    if($_GET['giorno1'] == null) { //se l'utente non ha scelto il giorno per il giorno iniziale
       
    if($_GET['mese1'] == null//se non ha scelto neanche il mese
          
    $data1 $_GET['anno1']."-01-01"//se all'utente non interessa giorno e mese parto dal 1° gennaio
       
    else //l'utente ha scelto il mese
          
    $data1 $_GET['anno1']."-".$_GET['mese1']."-01"//parto dal 1° giorno del mese scelto
    }
    else { 
    //l'utente ha scelto il giorno iniziale
       
    if($_GET['mese1'] == null//se non ha scelto il mese
          
    $data1 $_GET['anno1']."-01-".$_GET['giorno1']; //se all'utente interessa il giorno ma non il mese
       
    else //interessa anche il mese
          
    $data1 $_GET['anno1']."-".$_GET['mese1']."-".$_GET['giorno1']; //interessa tutto della data
    }

    /***** costruisci analogamente il giorno di fine intervallo *****/

    $query "SELECT * FROM tabella_con_date WHERE campo_data > ".$data1." AND campo_data < ".$data2

  3. #3
    Purtroppo devo apportare delle modifiche a un sistema gia in produzione, e quindi mi sono dovuto adeguare a quanto hanno. Quindi si, sono obbligato a tenere giorno mese e anno in campi separati

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.