Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema con ORDER By

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451

    problema con ORDER By

    salve, volevo sapere se anche a voi vi capita di ordinare un campo con all'interno delle date con il comando ORDER By e avere questo risultato:

    codice:
    +------------+
    | arrivo     |
    +------------+
    | 07/03/2009 |
    | 10/06/2009 |
    | 12/06/2009 |
    | 13/03/2009 |
    | 13/06/2009 |
    | 14/03/2009 |
    | 14/03/2009 |
    | 15/02/2009 |
    +------------+
    8 rows in set (0.00 sec)
    ordina solo per giorni e non capisco il perchè.

    grazie per il vostro aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451
    ok risolto in questo modo:

    STR_TO_DATE(arrivo,'%d/%m/%Y') desc

    anche se la cosa è molto strana

  3. #3
    adesso nel PHP cambi la data e si usare strtotime.

    Per esempio

    Codice PHP:
    // se già abbiamo la nostra data alla $provare
    while($row mysql_fetch_array($provare)){
      print 
    date('d/m/Y',strtotime($row['arrivo']))."
    "
    ;

    Ciao,
    Dennis M.
    Nuovo Blog di Programmazione! (Lo ha i tutti tipi! PHP e C/C++)
    Per piacere lo supporti!

  4. #4

    Re: problema con ORDER By

    Originariamente inviato da [_Kilckk_]
    ordina solo per giorni e non capisco il perchè.
    immagina la data come un valore numerico. Il valore piu' significativo va a sx il meno a dx come con qualsiasi numero. Quindi si devono ordinare le date per:

    anno-mese-giorno = 2009-03-14

    allo stesso modo di come viene ordinato un numero: centinaia-decine-unita'

    e vedrai come l'ordinamento sara' corretto come hai potuto verificare tu stesso.

    In solido: memorizza il numero secondo il formato ANSI previsto: yyyy-mm-dd

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451

    Re: Re: problema con ORDER By

    Originariamente inviato da piero.mac
    immagina la data come un valore numerico. Il valore piu' significativo va a sx il meno a dx come con qualsiasi numero. Quindi si devono ordinare le date per:

    anno-mese-giorno = 2009-03-14

    allo stesso modo di come viene ordinato un numero: centinaia-decine-unita'

    e vedrai come l'ordinamento sara' corretto come hai potuto verificare tu stesso.

    In solido: memorizza il numero secondo il formato ANSI previsto: yyyy-mm-dd
    grazie per la spiegazione.

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.