Sortering uden 18, 19, 2...

Tags:    php

<< < 12 > >>
Hejsa

Jeg har det problem, at når jeg sorterer mit database indhold (MySQL), så går det galt!

Sorteringen bliver med rækkefølgen 1, 10, 11....18, 19, 2, 20....

Hvordan undgår jeg dette? (og 01, 02 tæller ikke her ;-))

Mvh
Gunnar



Jamen den sorterer jo...

1, 10, 11, 19, 2, 20...

Gunnar




Jeg mener du skal bruge denne funktion for at få det til at virke:

http://dk2.php.net/manual/da/function.sort.php

Mvh. Emilbp



Emil, mener du helst seriøst at han skal trække alle data ud af databasen for derefter at sortere dem med php? Arj vel.

Det langt nemmeste er at lave en kolonne til tallet og en kolonne til bogstavet.

Eller selvf smide dem ind som 01 og 02 osv
M.V.H.
Loke Dupont aka colde

[Redigeret d. 06/08-05 20:31:22 af Loke Dupont]



skift til integer datatype, den sorterer jo som om det er en varchar, dvs. alfabetisk. Skift din dtabase type til integer

(¯`·._.·[Brian Hvarregaard]·._.·´¯)
Praesto et Persto



- men så kan jeg ikke længere have 13A f.eks., men kun 13.

Mvh
Gunnar


ok jeg prøver igen, det du vil kan du ikke gøre med mysql sådan som du har bygget din tabel op pt. Derfor er du nødt til at ændre den.

Altså hvis din kollone hedder husnummer f.eks. så bør du dele den op i 2, en der indeholder bogstavet og en der indeholder selve husnummeret

f.eks. sådan her:

husnummer_tal skal så være et int
husnummer_bogstav skal så være af typen char (medmindre du skal bruge mere end et bogstav så sæt den til varchar)

når du så skal sortere så gør du sådan her

select .... ORDER BY husnummer_tal DESC, husnummer_bogstav DESC

Håber at det hjælper dig, og ellers så får du det ikke meget nemmere, medmindre du selvfølgelig vil rode dig ud i at sortere med php, hvilket dog er meget mere besværligt.

Mvh
Kaare





select .... ORDER BY husnummer_tal DESC, husnummer_bogstav DESC


Her er jeg da vidst galt på den, prøv lige med ASC i stedet for desc, den burde vende resultatet forkert ellers.
Mvh
Kaare



Faktisk har jeg fået løst problemet via et andet forum, og løsningen ser således ud:

Fold kodeboks ind/udKode 


Mvh
Gunnar



<< < 12 > >>
t