Textdatei mit mehreren Spalten nach wählbarer Spalte sortieren
Michael
- php
0 suit0 Der Martin0 bleicher0 Gunnar Bittersmann
Hallo und guten Abend,
seit Stunden plage ich mich mit Überlegungen herum, wie ich die Daten einer
Textdatei (SQL kann ich nicht verwenden) nach unterschiedlichen Kriterien
wohl sortiert bekommen könnte.
Meine Überlegung geht in folgende Richtung:
1. Textdatei öffnen:
2. Textdatei bis zur letzten Zeile durchlaufen und einzelne Zeilen einlesen
3. Die einzelnen Zeilen aufsplitten, so dass ich einzelne Arrays bekomme
4. Über den switch-Befehl abfragen, nach welchem Kriterium sortiert werden soll
5. Sortieren
Und hier fangen meine Probleme an:
Ich kann durchaus ein einziges Array sortieren lassen, nur sind dann die übrigen
Spalten der Textdatei nicht auch entsprechend mitsortiert.
Ich muß also folglich irgendeine Möglichkeit finden, beim Sortieren eine Bindung
zwischen den einzelnen Spalten herzustellen, damit zum einen nach dem ausgewählten
Kriterium sortiert wird, zum anderen aber die zuvor zusammengewesenen Spalten auch
hinterher noch zusammen sind.
Vielleicht stehe ich auch nur etwas auf dem Schlauch und denke viel zu kompliziert,
aber aktuell fällt mir keine andere Vorgehensweise ein.
Wie würdet Ihr mein Vorhaben umsetzen?
Danke und Gruß
Michael
Wie würdet Ihr mein Vorhaben umsetzen?
csv lesen
http://at.php.net/function.fgetcsv
nicht mehrere arrays machen sondern ein mehrdimensionales und dieses sortieren
http://at.php.net/function.array-multisort
warum willst du das csv überhaupt sortieren? um es später in eine datenbank schreiben zu können oder wieder ausgeben? das wäre hilfreich um dir ggf bessere ideen liefern zu können
Hallo,
seit Stunden plage ich mich mit Überlegungen herum, wie ich die Daten einer Textdatei (SQL kann ich nicht verwenden) nach unterschiedlichen Kriterien wohl sortiert bekommen könnte.
- Textdatei öffnen:
- Textdatei bis zur letzten Zeile durchlaufen und einzelne Zeilen einlesen
- Die einzelnen Zeilen aufsplitten, so dass ich einzelne Arrays bekomme
Nein!!!
Die einzelnen Felder innerhalb einer Zeile bilden doch einen Datensatz, der in sich zusammengehört. Trenne das nicht in unabhängige Datenstrukturen! Bilde stattdessen lieber ein Array aus Arrays - wobei der "äußere" Index die Zeilen- oder Datensatznummer darstellt, der innere die Spaltennummer.
Ich kann durchaus ein einziges Array sortieren lassen, nur sind dann die übrigen Spalten der Textdatei nicht auch entsprechend mitsortiert.
Ich muß also folglich irgendeine Möglichkeit finden, beim Sortieren eine Bindung zwischen den einzelnen Spalten herzustellen, ...
Nein, du darfst diese Bindung, die ja in der Originaldatei existiert, gar nicht erst auflösen.
So long,
Martin
Grüße,
ich habe änliches problem mit SQLight gelöst - es kommt auch mit einer kleinen datei mit beliebiger endung aus (brauchst kein "echtes" SQL-support) und hat die wichtigsten sql-funktionen.
MFG
bleicher
@@Michael:
seit Stunden plage ich mich mit Überlegungen herum, wie ich die Daten einer
Textdatei (SQL kann ich nicht verwenden) nach unterschiedlichen Kriterien
wohl sortiert bekommen könnte.
Textdatei? Ach deswegen die Plage.
Wären die Daten in XML strukturiert, böte sich auch http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#sort@title=XSLT an.
Live long and prosper,
Gunnar
Grüße,
Wären die Daten in XML strukturiert, böte sich auch http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#sort@title=XSLT an.
browserunterstützung kann da imho ein wenig weh tun...
MFG
bleicher
@@bleicher:
Wären die Daten in XML strukturiert, böte sich auch http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#sort@title=XSLT an.
browserunterstützung kann da imho ein wenig weh tun...
Nicht bei serverseitiger Transformation.
BTW, eine clientseitige Sortierung mit JavaScript könnte _zusätzlich_ implementiert werden, um die unnötige erneute Übertragung der Daten vom Server zum Client überflüssig zu machen.
Live long and prosper,
Gunnar