• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Arrays mit Prioritäten sortieren???

Status
Für weitere Antworten geschlossen.

hammel2000

Neues Mitglied
Hallo, ich bin neu hier und hoffe, ihr könnt mir helfen!

Ich habe folgendes Problem:

Auf meiner Seite, welche verschiedene Schallplatten auflistet, kann man diese nach Datum, Titel oder Plattenlabel sortieren.

Die dazugehörigen Arrays heißen $year_sort;, $albumname_tab; und $label_tab;.

Wenn man die Dinger jetzt aber nach Datum oder Label sortiert, sind die, die vom gleichen Label / gleichen Datums sind, untereinander völlig willkürlich sortiert (z.B. Platte XXX Vol. 1 / 3 / 4 / 2).

Also würde ich gerne die Arrays nach Titel und Datum (bzw. Label) sortieren, wobei der Titel eine niedrigere Priorität hat. Geht das?

Hier ist der entsprechende Quelltext:

PHP:
if ($sort=="date") { $criterium=$year_sort; }
if ($sort=="title") { $criterium=$albumname_tab; }
if ($sort=="label") { $criterium=$label_tab; }
    asort ($criterium);
    reset ($criterium);
    while (list($key)=each($criterium))
        {
// Schreibe Informationen $year_sort[$key], $albumname_tab[$key], $label_tab[$key] in eine Tabelle
        }
Die Seite ist hier.

Da ich Laie bin, bitte relativ idiotensichere Antworten !!! :(
Für jede Hilfe bin ich sehr dankbar!
 
Doppelposts sind in diesem Forum unerwünscht ;)

Ich hoffe, dass du nicht wirklich alle Platten selber eingegeben hast O.o
Auf jeden Fall könnte dir [phpnet]array_multisort[/phpnet] weiterhelfen.

Ich empfehle aber das ganze in einer Datenbank zu speichern, weil du dann diese Informationen viel einfacher auslesen kannst.

Code:
$sql = "SELECT * FROM platten ORDER BY datum, name";
 
vielen Dank, ich probiers mal mit multisort... scheint ja genau das zu machen, was ich will.

Und ja, die Platten sind alle selber eingegeben, aber das Script liest die Daten ein und baut dann die Tabellen usw drumherum. In den Dateien muß ich nur eingeben

1
[Titel]
[Dauer]
[Kommentare]
2
[Titel]
....

Die Linklisten werden dann automatisch ergänzt.

Das is mir schon unumständlich genug, ich bin froh, wenn ichs einmal zum Laufen gebracht habe :mrgreen:

Also danke nochmal!!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben