Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: order by numero

  1. #1

    order by numero

    Ciao a tutti,
    volevo ordinare una query in base all'id. Questo id, ovviamente, è numerico. Ho visto che si dispingono molto stranamente, infatti l'order by sembra considerare prima la prima cifra e poi le altre. Infatti, ad esempio, il 1000 viene prima del 200 e il 200 viene prima del 3.
    Qualcuno ha un'altro metodo di order by??

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    35
    Ma dopo Order By id "cosa metti qua?"

  3. #3
    Questa è la query

    Codice PHP:
    SELECT FROM richiami_fatti where codice_fiscale='$codice_fiscale' ORDER BY id 
    poi a partire da questo creo una list
    Codice PHP:
    while ($row mysql_fetch_assoc($count_1))
        {
        
    $id      htmlentities($row['id']);
        
    $periodo     htmlentities($row['periodo']);

        echo 
    ' <tr><form action="mod_dichiara_corsi.php" method="post"><td><input type="hidden" name="id_modifica" value="'.$id.'" /><input type="hidden" name="codice_fiscale" value="'.$codice_fiscale.'" /><input name="periodo" type="text" value="'.$periodo.'"    style="background-color:#FFFF99; width:150px;"/></td>
        <td><input type="submit" name="submit" value="Modifica" /></td>
      </form>
      </tr>'
    ;

    . Da questo mi accorgo che non sono in ordine.

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    che tipo di campo è il tuo id?

  5. #5
    ORDER BY id DESC

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    23
    Originariamente inviato da oly1982
    ORDER BY id DESC
    Scusa ma che soluzione è?
    Nella Sua query c'è qualcosa che non va. In qualsiasi database che usa un SQL standard, una select che ordina su dei numeri ha sempre un orientamento ascendente. Questo fino a che non si modifichi qualche parametro o aggiungendo degli indici alla tabella o effettuando una query definendo una ORDER BY con il parametro DESC.
    Nella query
    SELECT * FROM richiami_fatti where codice_fiscale='$codice_fiscale' ORDER BY id
    Non mi pare che ci siano parametri che invertano l'ordine quindi o è successo qualcosa che ha cambiato l'ordine oppure il Suo db s'è impazzito. Al massimo gli si può consigliare il parametro ASC dopo ID per rendere esplicito il parametro che nell'order by è implicito e che determina un ordinamento ascendente dal MINORE al MAGGIORE.
    Forse ha un problema alla Tab e non lo risolve perchè non lo vede.

  7. #7
    L'id sara' pure un numero ma il campo che lo ospita e' senz'altro char/varchar e quindi l'ordinamento non e' numerico, ma secondo il codice ascii


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

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    Originariamente inviato da piero.mac
    L'id sara' pure un numero ma il campo che lo ospita e' senz'altro char/varchar e quindi l'ordinamento non e' numerico, ma secondo il codice ascii

    ..che era quello che intendevo io..
    ..ma l'autore del 3D latita..

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    23
    Bah... allora forse farebbe fare un sort dell'array dopo aver convertito gli id in numero quando fa il fetch. Altrimenti se sono testo potrebbe rischiare di avere i numeri come
    1,10,11,12...
    2,20,21...
    3,......

    O anche in modo diverso.

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..ma forse sarebbe il caso di convertire il campo in un intero..

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.