php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Newbie] Parser will net so wie ick wohl will


 
Andreas Bernard
19-03-2003, 14:17 
 
Hallo.

Ich wage grade meine ersten Schritte in PHPund MySQL, und darf gleich ne größere DB zur Sammlung von Kontaktdaten schreiben.

Hintergrund ist die Homogenisierung von Datenbeständen, sprich in dieser DB werden Daten die bisher in Excel, Word, Access und Hardcopy vorliegen gesammelt. Natürlich hat jeder Kollege das auch völlig unterschiedlich gemacht, und von logischen Untergruppen kann nicht die Rede sein.

Naja, ich hab halt ne nette DB aufgebaut, ein schönes Frontend gebastelt, und die manuelle Eingabe klappt auch schon ganz gut.

Nun versuche ich seit Tagen einen Parser zu schreiben, um Daten die bereits elektonisch vorliegen, und die ich via Excel etc. vorformatiert habe einzulesen.

Als fauler Sack möchte ich natürlich die Prüfroutinen der "Eingabesnippets" verwenden, um nicht für jede Fitzeldatei ein völlig neues Einlesefile schreiben zu müssen. Deshalb eben die Parserdatei, die schlicht und ergreifend die einzelnen Elemente in die rictigen $_POST[] Variablen ausliest und an die Prüfroutinen übergibt als wären es manuelle Eingaben. Nur funxt das nicht. Sprich, der erste Datensatz wird eingelesen, und danach springt mir des aus der Schleife.

Progge ich den Inhalt der Schleife von Hand, funktioniert alles prima, verweise ich auf die Prüfroutinen, läuft nix mehr. Wie gesagt, die laufen bei manueller Eingabe aber tadellos.

Ich will jetzt hier nicht ellenlangen Code posten, deshalb, wer da ne Idee hat Bescheid sagen, dann kann ich gezielt was kopieren.

Thx

 
wahsaga
19-03-2003, 14:27 
 
Original geschrieben von Andreas Bernard
Deshalb eben die Parserdatei, die schlicht und ergreifend die einzelnen Elemente in die rictigen $_POST[] Variablen ausliest und an die Prüfroutinen übergibt als wären es manuelle Eingaben. Nur funxt das nicht.
soll heissen du versuchst dem $_POST[]-array werte zuzuweisen?

frage an die anderen: geht das überhaupt?

 
goth
19-03-2003, 14:30 
 
Klar geht das ... aber machen würde ich's nicht unbedingt.

 
MelloPie
19-03-2003, 14:34 
 
Wenn Du das in Excel hast, warum machste kein csv draus und lädst das ganze via

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]

 
wahsaga
19-03-2003, 14:36 
 
Original geschrieben von goth
aber machen würde ich's nicht unbedingt.
ich auch nicht.

ich würde eher vorschlagen, die prüf-routinen in funktionen auszulagern, die die zu prüfenden werte als parameter übergeben bekommen.


wenn die daten aus dem formular kommen, dann übergibst du halt
pruefe($_POST['pruefwert'], ...);

und wenn sie woanders herkommen rufst du die funktion mit
pruefe($pruefwert, ...);
auf.

 
Andreas Bernard
20-03-2003, 08:03 
 
Danke erstmal für die Tips.

Warum ichs via $_POST mache? Weil ich ein n00b bin. :D

Wegen LOAD: wollte ich eigentlich auch so machen, krieg aber einen: "wird von diesem MySQL nicht unterstützt". Könnte daran liegen, das ich das ganze auf ner WinXP Maschine laufen lassen muß (nicht meine Entscheidung). Und ja, ich hab da schon auf die Rechtevergabe unter Win geachtet, daran liegts wahrscheinlich nicht.

Das mit den Funktionen werd ich mal ausprobieren, wird dann zwar komplizierter mit dem Array Aufbau, aber mal schaun.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:26 Uhr.