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

    < NOW() in situazione particolare

    Ciao a tutti...
    ho un problemuccio...
    Nel mio db inserisco la data proveniente da un form in questo formato 20051213 e come numero...
    quando la recupero in questa maniera posso fare order by data asc o desc...
    ma se invece devo usare nella query < NOW()? come posso fare per ottenere questa cosa?

    grazie!

  2. #2
    il now lo puoi usare se il campo è di forma data...

    se non vuoi convertirli in data creati un numero con la data di oggi: date("Ymd"); e confrontalo con quello





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    puoi mettere la data sia in forma numerica sia in forma di data.

    Quando la confronti se la la data e' congruente viene comparata in entrambi i modi. Poiche' NOW() rende data e time probabilmente, ma non ne ho la certezza al momento, in mancanza di ore:min:sec nel campo viene assunto 00:00:00.

    Se usi CURDATE() al posto di NOW() ti risolvi il problema del TIME.

    where campo_data < CURDATE()

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

  4. #4
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da piero.mac
    puoi mettere la data sia in forma numerica sia in forma di data.

    Quando la confronti se la la data e' congruente viene comparata in entrambi i modi. Poiche' NOW() rende data e time probabilmente, ma non ne ho la certezza al momento, in mancanza di ore:min:sec nel campo viene assunto 00:00:00.

    Se usi CURDATE() al posto di NOW() ti risolvi il problema del TIME.

    where campo_data < CURDATE()
    hai fatto centro piero, mysql fa un upcasting del campo date, proprio come hai detto tu, quindi funziona sia con curdate() che con now()

  5. #5
    Originariamente inviato da kuarl
    hai fatto centro piero, mysql fa un upcasting del campo date, proprio come hai detto tu, quindi funziona sia con curdate() che con now()
    Gia'... nel caso di NOW() pero' questo upcasting potrebbe generare un bug... bug di script ovviamente.

    Se cerchi una data inferiore ad oggi, NOW() ti rende anche le date odierne perche 00:00:00 e' minore di qualsiasi altro momento dello stesso giorno. Meglio usare CURDATE() che valuta la sola data.


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

  6. #6
    mettendo con WHERE data < CURDATE() mi prendeva solo le date di dicembre 2005 e non va' nel 2006...

    mentre con WHERE < NOW() fa tutto giusto, ma non mi considera il giorno di oggi, ma il corrente mese... infatti mi visualizza record del 3 dicembre 2005...

    grazie mille a tutti!

  7. #7
    Originariamente inviato da zoc
    mettendo con WHERE data < CURDATE() mi prendeva solo le date di dicembre 2005 e non va' nel 2006...
    se prende le date minori di oggi... ci mancherebbe prendesse le date del 2006... riparliamone tra un mese almeno...

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

  8. #8
    si scusa, che babbo che sono...

    data > CURDATE()

    cosi funziona perfettamente!!!
    grazie!!!

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.