Philipp Hasenfratz: Import Datum aus Textdatei / Format umwandeln mySQL+PHP

Beitrag lesen

Halihallo Marina

Kann das sein, das substr hier nicht funktioniert?
Da Wert1 & Wert2 keine feste Zeichenlänge haben.
Wert1aþWert2aþ13.01.05ÿ

Richtig. Deswegen habe ich auch schon gesagt, dass das extrahieren
bzw. umwandeln der Daten auch nicht dein primäres, sondern sekundäres
Problem ist. Ich sagte schon: befasse dich zuerst damit, die
einzelnen Felder und Datensätze auseinanderzubrechen (nochmals:
Strichwort explode). Dann hast du das Feld Datum in einem String und
und dieser folgt einem genauen Muster (hoffentlich...).

Das Problem für mich ist. Tag, Monat & Jahr an der Position
(zwischen þ ÿ) herauszuholen.
Richtig ordnen kann ich.
Und das neue Format an der richtigen Stelle reinschreiben, kann ich leider auch nicht.

Du denkst zu straight. Musst ja nicht grad von 0 auf 100 in einer
Sekunde beschleunigen wollen...

Also nochmals, ich muss ja ebenfalls nicht gleich mit der Türe ins
Haus fallen...:

zuerst musst du mal die einzelnen Datensätze trennen:
Dieses 'ÿ'-Zeichen scheint hier der Delimiter zu sein. Also, mach
das mal, trenn den String mal an diesen Zeichen. Dann hast du über
explode schonmal ein Array aus Datensätzen (in CSV sind die
Datensätze die Zeilen).
So, und nun interessieren dich natürlich die Daten (jetzt mal nicht
als plural von Datum zu verstehen), hier scheint 'þ' dein Delimiter
zu sein. Nun OK, iteriere über dein vorher generiertes Array von
Datensätzen (also mach folgendes für jeden Eintrag im Array) und
splitte diese Strings erneut über explode bei 'þ' auf. So hast du
nun erneut ein Array aus Feldern deines aktuell verarbeiteten
Datensatzes.
in $felder[0] steht dann 'Wert1a', $felder[1] steht 'Wert1b' und
in $felder[2] steht dein '03.01.05' und jetzt kannst du mittels
substr das Datum in $felder[2] in ISO-8601 überführen.
Dann bildest du einen SQL-Query mit den Daten aus dem Array $felder.

Vielleicht kannst du mir ja etwas PHP-Code zeigen.

Nö, den Spass will ich dir nicht nehmen, sonst hast du ja gar nichts
von diesem Forum.

Viele Grüsse

Philipp