Sven Rautenberg: Sortieren von Bruchzahlen in einem mehrdemensionalen ARRAY

Beitrag lesen

Moin!

Ich habe eine Tabelle in der in einer Spalte Bruchzahlen (21,99) vorkommen.

Das sind keine Bruchzahlen, sondern Dezimalzahlen. Das ist insofern ein Unterschied, als Bruchzahlen so lustige Dinge sind wie 1/2, 23/54 oder 1325/671 - die sind also noch wesentlich schwieriger zu sortieren, als deine Dezimalzahlen.

Das Problem ist, dass Inhalte immer als Strins behandelt werden.

Das muß aber nicht so sein, das ist nur deswegen so, weil du es so definiert hast.

meine Idee war folgende:

ORDER BY Bruchzahl DESC SORT_NUMERIC

Du benutzt also eine Datenbank zum Sortieren. Dann ist dein Problem keines, was mit PHP zu lösen wäre.

Setze in der Datenbank einen Zahlentyp für die Spalte ein, die du sortieren willst. Dann weiß deine Datenbank, dass sie keine Stringvergleiche, sondern Zahlenvergleiche vornehmen soll, und sortiert sofort richtig (richtig im Sinne von: So, wie du es gerne hättest - Strings alphabetisch zu sortieren ist ja auch richtig).

Doch ich fürchte ich habe hier aus verschiedenen ereichen etwas zusammen gewürfelt. Weis jemand Rat?

Hast du eine Datenbank? Oder hast du keine?

Unabhängig davon gilt: Zahlen sollten als Zahlen behandelt werden, nicht als String.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)