Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    86

    mysql order by non ordina

    ciao ho questo problema di ordinamento:

    db con vari campi tra cui uno tipo varchar che contiene date tipo 16/3/1990.
    ho una tabella che mi contiene parecchie date di tutti i cliente, e mi servono quelle di uno specifico cliente quindi,

    $query_7 = "SELECT * FROM storico WHERE fscod='$codice' ORDER BY 'fsdai' DESC ";

    * $codice è l'id del cliente
    * fsdai è il campo del db che contiene le date

    suppendo queste date di un cliente: 16/3/1990 1/1/1991 e 16/7/1993.
    Se poi faccio
    while($riga = mysql_fetch_array($result_7))
    {
    $risultato[]=$riga['fsdai'];
    }

    mi da quest ordine: 01/01/1991 16/07/1993 16/03/1990.

    Ma ovviamente sbagliato. Come posso risolvere?
    Grazie

  2. #2
    ciao, guarda io avevo lo stesso problema, per risolvere invece di usare il campo varchar ho usato il capo DATA o datatime del database, a quel punto tutto in ordine, unica cosa devi utlizzare una funzione del php che ribalta il modo di visualizzare la data a video rispetto a come viene scritta nel database

    esempio:
    nel database la data si scrive 1990/04/22

    c'è una funzione che te lo riscrive a video senza modificarlo nel database 22/04/1990

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    potresti usare anche la STR_TO_DATE

    "SELECT *, STR_TO_DATE(fsdai, '%d/%m/%Y') AS data FROM storico WHERE fscod='$codice' ORDER BY data DESC ";

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    86
    ci avevo pensato solo che se campio il tipo tutte le date me li setta a 00-00-0000.. perdo tutte le mie informazioni...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    86
    boots grazie problema risolto gentilissimo

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626


    Cmq conviene sempre usare i tipi di dato giusto...se, come diceva phpneo, riesci a passare le date al tipo DATE rendi la query più veloce visto che non deve convertire una stringa in una data

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.