Hello,
das mit der csv ist blödsinn von mir - es handelt sich um eine textdatei mit 2 spalten. in der ersten sind die feldnamen und in der 2. der inhalt. die einzelnen datensätze sind von einem seitenumbruch getrennt:
zB:
Name: müller
ort: LA
-->
Name: ralphi
Schugröße: 32
-->
etcergebniss sollte sein:
Name - ort - schuhgröße
müller - LA -
ralphi - - 32
Du hast also ein Datenformat mit Pärchen Name:Wert und sogenannten varianten Records vorliegen.
Wenn die Datei nicht zu groß ist (bis 2MB geht es problemlos möchte ich mal schätzen), ist das eine excellente Musteraufgabe für verkettete Listen (Bäume), so wie sie bei PHP als "Array" implementiert sind.
- Du brauchst eine Funktion, die die Datensätze voneinander trennt
- Du brauchst eine Funktion, die für jeden Datensatz die Bezeichner
und die dazugehörigen Werte ermittelt - Du brauchst eine Funktion, die die ermittelten Daten ins Array einträgt
Um nachher in beide Dimensionen (Satznummer und Satzaufbau) sofort ermitteln zu können, kannst Du das Array folgendermaßen aufbauen:
$_data = Array();
$_data['name'][1] = 'müller';
$_data['ort'][1] = 'LA';
$_data['name'][2] = 'ralphi';
$_data['schuhgroesse'][2] = 32;
usw.
Das gibt ein lückenbehaftetes "Spaltenarray".
Das lässt sich nachher mit den Arrayfunktionen (insbesondere array_keys() und foreach()) besonders leicht manipulieren und in jede andere Form transformieren oder normalisieren zu Tabellen.
Wenn Du die Zuweisungen oben genauer anschaust, findest Du noch mehr Fallstricke. Die Bezeichner sollten für das Array behandelt (normiert) werden. Überlege, ob Du wirklich Groß-/Kleinschreibung willst und was mit Sonderzeichen geschehen soll.
Fang erstmal an, die drei Grundfunktionen zu entwickeln und poste sie hier. Dann sehen wir weiter.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
