Sven Rautenberg: sortieren nach abc, aber 3 Spalten???

Beitrag lesen

Moin!

ich hätte die Sortierung aber gerne so:
a|c|d|
b|c|e|
b|d|f|
c|d|g|

Wenn du mit dem normalen MySQL-Query arbeitest, speichert PHP die Abfrage in einem für dich jederzeit und _wahlfrei_ lesbaren Speicherbereich. Du kannst also im Prinzip beliebig in der Abfrage herumspringen und die Einträge für die Ausgabe zusammensortieren.

Dabei hast du zwei Problemstellungen:

1. Zugriff auf ein einzelnes Element. Das ist simpel gelöst:
mysql_data_seek() hilft für das Setzen des Zeigers http://www.php.net/manual/de/function.mysql-data-seek.php
mysql_fetch_array() liest dann den gewünschten Datensatz.

2. Du mußt für die Tabelle wissen, wie lang die Spalten werden können. Dazu mußt du herausfinden, wie viele Einträge untereinander gehören. Es ist ein guter Ansatz, einfach die Anzahl der Datensätze durch die Zahl der Spalten zu teilen - mit ein wenig Korrekturfaktor (Was ist, wenn die Zahl nicht direkt durch 3 teilbar ist?) kriegst du das sicher hin.

Und dann bleibt dir nur noch, das alles zusammenzuschütten und in ein Ausgabeskript zu verpacken.

Es ist jedenfalls keine Aufgabenstellung, bei der die Datenbank dir irgendwie helfen könnte.

- Sven Rautenberg

--
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|