Visualizzazione dei risultati da 1 a 5 su 5

Discussione: >= Now()

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151

    >= Now()

    Codice PHP:
    $sql  " SELECT * ,date_format(data_iniz, '%d/%m')FROM eventi WHERE approvato = '$approvato'  AND data_fin >= NOW() OR ORDER BY data_iniz LIMIT 5"
    Questa è la query.
    Vorrei che mi visualizzasse a schermo un elenco di eventi. Ogni eventi ha una data di inizio ed una data fine.
    C'è un piccolo problema, nonostante io abbia inserito la condizione data_fin >= NOW(), non mi visualizza gli eventi in scadenza nella giornata di oggi.
    Es. oggi dovrebbe visualizzare un evento che scade il 19 giugno... fino a ieri era ok, oggi è come se fosse già scaduto.

    E' come se non intepretasse il maggiore/uguale >=.

    Grazie

  2. #2
    perche' NOW() considera anche ore-minuti-secondi. Se invece data_fin e' composta dalla sola data (senza le ore) allora per default assume 00:00:00

    quindi: 2010-06-19 00:00:00 e' minore di 2010-06-19 11:49:00

    usa CURDATE() al posto di NOW().

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Uhmm hai provato a togliere "OR" dopo NOW()?
    Così a braccio direi che non c'entra niente
    Ma è anche sabato mattina e mi sono appena svegliato... potrei non connettere!
    -----------------------------
    if ($problem)
    {
    exit;
    }

  4. #4
    Originariamente inviato da maxximus
    Uhmm hai provato a togliere "OR" dopo NOW()?
    Così a braccio direi che non c'entra niente
    Ma è anche sabato mattina e mi sono appena svegliato... potrei non connettere!
    beh! di certo quell'OR e' di troppo, ma probabilmente e' solo un errore di trascrizione altrimenti fallirebbe con errore la query.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    151
    Originariamente inviato da piero.mac
    perche' NOW() considera anche ore-minuti-secondi. Se invece data_fin e' composta dalla sola data (senza le ore) allora per default assume 00:00:00

    quindi: 2010-06-19 00:00:00 e' minore di 2010-06-19 11:49:00

    usa CURDATE() al posto di NOW().
    Ok con curdate in effetti ho risolto. Grazie!
    Quell'OR era un refuso in questo post... online non c'è.

    Grazie ancora!

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.