Hi tom,
vielen dank für deine antwort. du hast mir jetzt gezeigt, wie ein ordentlicher php code auszusehen hat und wie ich die daten in dicke arrays schreiben kann - das eigentliche problem ist allerdings wie ich das ding in die DB bekomme.
folgendes habe ich gestern noch hinbekommen:
//1. Teil neue Felder erkennen und anfügen
//2. Teil Daten sammeln und bei leerzeile in DB schreiben - funktioniert noch nicht!
while (!feof($datei)) {
// Zeile einlesen und trennen
$zeile = fgets($datei,1000);
$feld = explode(": ",$zeile);
// hier prüfe ich ob ein neuer datensatz anfängt - die sind mit einem seitenumbruch UND einer leerzeile getrennt
If ($feld[0] == "") $new=1;
echo $x . "datensatz einlesen";
$x=$x+1;
If ($feld[0] != "") {
//**************************
// felder mit vorhanden feldern vergleichen
$res = mysql_query(sprintf("select * from felder ")); $n=0;
while ($row =mysql_fetch_array($res)) {
If ($row[feld] == $feld[0]) $n=1;
}
// wenn noch nicht vorhanden - schreibe das neue feld in die hilfstabelle
If ($n == 0) {
mysql_query(sprintf("insert into felder (feld) VALUES ('%s')", $feld[0]));
// und erweitere um das neue feld
mysql_query(sprintf("alter table kstamm1 add column
%s character(255)", $feld[0] ));
//**********************
}
//Daten als string sammeln bis die leerzeile kommt
$feldname =$feldname . ", " .$feld[0] ;
$daten =$daten . ", " .$feld[1] ;
}
//und rein mit dem datensatz - aber das funktioniert noch nicht
if ($new == 1) {
mysql_query(sprintf("insert into kstamm1 ('%s') VALUES ('%s')",
$feldname,$daten));
$feldname= "";
$daten = "";
$new = 0;
}
}
fclose($datei);
Die felder zufügen funkt schon ganz gut - leider funkt der letzte insert noch nicht (vielleicht nur ein syntaxfehler)
ich hoffe man kann auch meinen code ansatzweise lesen ;)
mit bitte um hilfe
grüßle ralphi