Avatar billede gf Nybegynder
08. oktober 2005 - 12:04 Der er 16 kommentarer og
2 løsninger

order by tal problem

Hej

jeg har følgende query:

$sql = "SELECT * FROM database ORDER BY nummer" or die( mysql_error() );
$qh = mysql_query( $sql ) or die( mysql_error() );
    while ( $row = mysql_fetch_array( $qh ) ) {
    echo $row['nummer'];
    }

problemet er, at der sorteres anderledes end jeg ønsker.

en udskrift kunne se sådan ud:

101
102
102
103
11
13
14
34 det skulle gerne være:

11
13
14
34
101
102
102
103

Er der nogen der har en ide til hvordan man gør det?
mvh gf
Avatar billede jelboen Nybegynder
08. oktober 2005 - 12:08 #1
well det ser godt nok lidt mærkeligt ud. men prøv at gøre sådan her:

$sql = "SELECT * FROM database ORDER BY nummer ASC"
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:09 #2
"SELECT * FROM database ORDER BY nummer ASC"
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:10 #3
Laaaaaaaaaangsom  :-)
Avatar billede jelboen Nybegynder
08. oktober 2005 - 12:10 #4
DESC = Vil sorterer med det højeste tal først
ASC = Vil sortere med det laveste tal først
Avatar billede udvikler Nybegynder
08. oktober 2005 - 12:11 #5
Ved ikke om det har nogen betydning, men prøv at sætte DESC LIMIT bagpå. Det har jeg fået af vide før, er ikke sikker på hvad det betyder. :)
- men prøv, det har jeg selv i mit forum og det virker præcist som det skal :)
Avatar billede udvikler Nybegynder
08. oktober 2005 - 12:11 #6
Havde vidst ret ? :)
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:11 #7
Hvis du ikke indikerer hvilken vej den skal ordne dem, så går den ud fra, at det er DESC.
Avatar billede udvikler Nybegynder
08. oktober 2005 - 12:12 #8
Nej, åbenbart ikk jelboen har ret!
Avatar billede erikjacobsen Ekspert
08. oktober 2005 - 12:14 #9
Hvis den sorterer som du skriver er det ikke et talfelt, men et tekstfelt. Lav det til et talfelt i tabellen, og der virker som det skal.
Avatar billede gf Nybegynder
08. oktober 2005 - 12:15 #10
Hej

ASC og DESC er afprøvet. Det ændrer rigtigt nok rækkefølgen, men tallene kommer ikke med det mindste først.

mvh gf
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:17 #11
ja, nummer er et tekstfelt  ;-)
Avatar billede jelboen Nybegynder
08. oktober 2005 - 12:18 #12
:P - well jeg sidder også tit og glemmer ASC eller DESC :D
Avatar billede jelboen Nybegynder
08. oktober 2005 - 12:19 #13
Ja, du skal ændre felt typen til f.eks. INT - prøv det
Avatar billede gf Nybegynder
08. oktober 2005 - 12:19 #14
nummer er varchar, vil det ændre på noget at ændre det til INT?

mvh gf
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:22 #15
JA !
Avatar billede jelboen Nybegynder
08. oktober 2005 - 12:22 #16
Det er jeg ret sikker på, VARCHAR kan indeholde både tal og bogstaver, og jeg tvivler derfor på at den vil kunne sortere informationerne ordenligt.
Avatar billede gf Nybegynder
08. oktober 2005 - 12:23 #17
Tak for hjælpen nu virker det.

mvh gf
Avatar billede dragonknight Juniormester
08. oktober 2005 - 12:25 #18
varchar = Holds a variable length string (can contain letters, numbers, and special characters). The maximum size is specified in parenthesis.

Derfor vil den ikke sortere tal i nummerorden, men den betragter de enkelte cifre som en karakter.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester