ralphi: Variante Records in eine einheitliche Struktur überführen

Beitrag lesen

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