Erstmal danke für die prompte Antwort, das mit den '=' geb ich Dir Recht, das ist noch übrig geblieben nach zig Versuchen die switch Anweisung zu bewegen in die richtigen Cases zu springen...
Hab die '=' nun alle entfernt und es bleibt alles beim alten.... die logs zeigen mir folgendes:
2009-03-31 17:05:19 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/encrypt.class.inc
Row : 19
Info : Undefined variable: sql
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 36
Info : Undefined offset: 1
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 37
Info : Undefined offset: 2
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 38
Info : Undefined offset: 3
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 39
Info : Undefined offset: 6
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 40
Info : Undefined offset: 18
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 41
Info : Undefined offset: 19
2009-03-31 17:05:20 Typ : 8
File : /srv/www/htdocs/system/dev/customer/diagnostic/dbl/dbl.createDB.inc
Row : 42
Info : Undefined offset: 20
__________________________________________________
Hier nochmal der korrigierte Code:
PHP-Code:
while (($fields = fgetcsv($fp, 8192, ";")) !== FALSE){
// Zeilen abarbeiten und die relevanten Spalten in Arraystruktur umkopieren
$row = array( 'table' => $fields[1],
'field' => $fields[2],
'active' => $fields[3],
'key' => $fields[6],
'type' => $fields[18],
'size' => $fields[19],
'dec' => $fields[20]);
//$num = count ($row);
// Datentyp untersuchen
$type = '';
switch($row['type']){
case 'ACCP':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'CHAR':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'CLNT':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'CUKY':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'CURR':
$type = "DECIMAL";
$row['type'] = $type;
break;
case 'DATS':
$type ="CHAR(8)";
$row['type'] = $type;
break;
case 'DEC':
$type = "DECIMAL";
$row['type'] = $type;
break;
case 'NUMC':
$type = "INT";
$row['type'] = $type;
break;
case 'QUAN':
$type = "INT";
$row['type'] = $type;
break;
case 'SSTRING':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'STRING':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'TIMS':
$type ="CHAR(6)";
$row['type'] = $type;
break;
case 'VARC':
$type = "VARCHAR";
$row['type'] = $type;
break;
case 'UNIT':
$type = "VARCHAR";
$row['type'] = $type;
break;
default:
$type="VARCHAR";
$row['type'] = $type;
break;
}
print_r ($row);
--> wie ich das sehe hat er nur mit der Dimensionierung des Arrays da ein Problem das sind nämlich genau diese Zeilen um die es sich da dreht...
Ich denke aber das der Fehler woanders liegen muss da er ja die "default:" Anweisung richtig ausführt, aber eben leider nur die "default:" Anweisung die anderen Cases ignoriert er irgendwie einfach... Ich hoffe mir kann einer den zündenden Gedanken dafür geben...
Thx schonmal