ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
408
408
EMPFEHLEN
-
Hallo,
ich stehe hier vor einem Problem, dass hoffentlich auch einfacher zu realisieren ist als ich es mir denke.
Und zwar habe ich in einer DB Kategorien stehen, die wie ein Inhaltsverzeichnis aufgebaut sind, d.h.
1.0 Kategorie 1
1.1 nächste Kategorie
1.1.2 usw.
1.2.1 usw.
Mein Problem ist, dass ich die Daten nun anhand der Strukturnummer sortieren will, wie es oben schon ist, denn wenn an einer Stelle z.B. eine zweistellige Zahl steht dann macht die Standardsortierung sowas:
1.0 Kategorie 1
1.1 nächste Kategorie
1.1.2 usw.
10.1.3 usw.
2.2.1 usw.
Hat da jemand eine "einfach" Lösung für. (Meine Idee wäre jetzt den String zu zerlegen und dann rekursiv sortieren, ist aber irgendwie soviel arbeit...)
-
Musst du mit diesen Daten so arbeiten oder kannst du noch etwas am Datenbank-Design verändern? Es gibt nämlich einige Ansätze mit dem du das Problem schon vorher umgehen kannst.
Aktuelle Zertifizierung: MCP 70-270, CCNA
In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298
-
Am Datenbank-Design kann ich machen was ich will.
-
Die "einfache" Variante. Du speicherst dir zu jeder Kategorie die ID der "Eltern"-Kategorie:
Code :1 2 3 4 5 6 7 8 9 10
ID | Kategorie | parent --------------------------------- 0 | Inhaltverzeichnis | NULL 1 | 1.0.0 | 0 2 | 1.1.0 | 1 3 | 1.1.2 | 2 4 | 1.2.1 | 1 5 | 10.0.0 | 0 5 | 10.1.1 | 5 6 | 10.1.5 | 5
Das Ergebnis wäre:
Code :1 2 3 4 5 6 7
Inhaltverzeichnis -1.0.0 -1.1.0 -1.12 -10.0.0 -10.1.1 -10.1.5
Oder du arbeitest mit einem Nested Set. Wobei man sich dort etwas einarbeiten muss.
Gruß ThomasAktuelle Zertifizierung: MCP 70-270, CCNA
In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298
-
Das hatte ich mir auch schon gedacht, aber ist es dann nicht so, dass dies die Kinderelemente nicht mehr sortiert, im obigen Beispiel haben 10.1.1 und 10.1.5 die gleiche parent id, was wenn diese jetzt anders in der db stehen, dann würde es doch zuerst 10.1.5 und dann 10.1.1 ausgeben oder sehe ich das falsch?
-
Ich habe jetzt etwas rumprobiert und bin bisher zu keiner Lösung gekommen. Eventuell könntest du die Position einfach mit abspeichern?
Aktuelle Zertifizierung: MCP 70-270, CCNA
In Arbeit: 70-291, 70-290, 70-284, 70-293, 70-294, 70-298
-
Dann wirds aber wieder etwas redundant.
-
Du machst einfach für den Punkt 1.0.2.4 vier Spalten erste 1, zweite 0 und so weiter, dann zunächst nach der ersten sortieren, dann nach der zweiten, und so fort.
-
-
03.11.08 15:43 #10
- Registriert seit
- Aug 2007
- Beiträge
- 166
In dem Fall solltest du dich mal mit Nested Set Model beschäftigen.
I'm not slacking off!
My code's just compiling.
-
Vielen Dank, ich habe es jetzt doch mit parentId und der jeweiligen Position gemacht. War jetzt die einfachste und schnellste Lösung.
Ähnliche Themen
-
MySQL-Abfrage nach 2 Kategorien sortieren
Von smoothart im Forum PHPAntworten: 24Letzter Beitrag: 08.09.11, 11:16 -
Fragen aus xml auslesen und nach Kategorien sortieren.
Von cronkalonca im Forum JavaAntworten: 4Letzter Beitrag: 04.09.10, 07:33 -
Array sortieren nach leeren Elementen sortieren, Reihenfolge beibehalten
Von trench140 im Forum PHPAntworten: 5Letzter Beitrag: 24.09.08, 00:10 -
MySQL Ausgabe in Kategorien Sortieren...
Von StarboyCelli im Forum PHPAntworten: 1Letzter Beitrag: 13.05.08, 23:10 -
Kategorien in Kategorien [Link-System]
Von cIrCa im Forum PHPAntworten: 21Letzter Beitrag: 12.02.04, 17:24





Zitieren
Login





