Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Confrontare delle date

  1. #1

    Confrontare delle date

    Ciao a tutti,
    sto sviluppando un'applicazione degli eventi dove si richiede un uso delle date. Non sono molto ferrato in merito anzi...
    Ogni evento può avere due date, una di inizio (sicura) e una di fine (opzionale).
    Ho inserito due campi di tipo date nel db (data_inizio e data_fine).
    Vorrei visualizzare dal mio db tutti gli eventi che hanno una data_inizio maggiore della data odierna (data del server).

    Concettualmente credo di fare questo

    1)Prelevare la data di oggi ed assegnarla ad una variabile.
    2)Confrontare la data_inizio e data_fine con la variabile sopra indicata.
    Quindi :

    Codice PHP:
    $data_di_oggi date('Y-m-d');
    $Risultato=mysql_query("SELECT * FROM eventi WHERE visible= '1' AND (data_inizio >= $data_di_oggi) AND (data_fine >= $data_di_oggi) ORDER BY data_inizio ASC"$db); 
    Grazie in anticipo.

  2. #2

    Meglio così

    Codice PHP:

    $Risultato
    =mysql_query("SELECT * FROM eventi WHERE visible= '1' AND (data_inizio <=curdate()) AND (data_fine>curdate() or data_fine is null) ORDER BY data_inizio ASC"$db); 
    Fidatevi del dottor Auz!
    http://dottorauz.blogspot.com

  3. #3
    Grazie mille per la dritta. Funziona ma bisognava inserire OR al posto di AND.

    Colgo l'occasione, se è possibile, per chiederti un piccolo aiuto che ha a che fare con le date.
    Nella pagina dettaglio vorrei poter far visualizzare alla voce "Quando" due possibilità:
    1)Niente (Se data_inizio e data_fine sono vuote)
    2) Dal data_inizio al data_fine (Se sono disponibili sia data_inizio e sia data_fine)
    3) Il data_inizio (Se è disponibile solo data_inizio e data_fine è vuoto)

    Ho fatto così ma mi restituisce sempre Dal data_inizio al data_fine :
    Codice PHP:
    <?php
                $inizio 
    date("j m Y"strtotime($riga['data_inizio']));
                
    $fine date("j m Y"strtotime($riga['data_fine']));
                
    $anno_zero ="0-00-0000";
                if(
    $inizio == $anno_zero)
                    {
                        echo 
    "";    
                    } 
                    elseif((
    $inizio != $anno_zero) AND ($fine != anno_zero))
                    {                    
                    echo 
    "Dal" $inizio "Al" $fine;
                    }
                    else                {
                    echo 
    "il" $inizio;
                    }
                    
    ?>

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.