Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ordinamento sballato

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    ordinamento sballato

    salve a tutti,
    ho una semplice tabella con un campo varchar alfanumerico da ordinare.

    I valori sono i seguenti:
    Codice:
    FXCM0204
    FXM0216 1/2
    FXM0316
    FXM0011
    FXM0474 1/3
    FXM0154
    FX0001

    Dovrei ordinarli per numero progressivo, senza calcolare le lettere iniziali.
    Ho provato ORDER BY codice ASC ma mi tiene in considerazione le lettere e giustamente prima mi mette FX, poi FXC e alla fine FXM.
    Ho provato anche ORDER BY CAST(codice AS UNSIGNED) ma nulla.

    Qualcuno sa darmi una dritta?
    L'ordinamento deve avvenire solamente considerando i numeri.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Nessuno riesce ad aiutarmi?

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Secondo me con SQL non ci riesci, prendi i dati così come vengono, poi inventati una funzione php che riordini l'array in base alle tue esigenze.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    A questo punto mi conviene creare una nuova cella, inserire il codice pulito senza lettere e poi ordinarla.
    Esiste una funzione php che mi toglie le lettere, lasciandomi solo i numeri di una stringa?

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ti serve un'espressione regolare e preg_replace().

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Grazie! trovato..

    function pulizia($codice){
    return preg_replace('/\D/', '', $codice);
    }


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.