title image


Smiley Re: Daten aus cvs mittels php in DB exportieren
Hi,



danke für die links, die sind echt gut, habs mir angeschaut.

In der Zwischenzeit hab ich mir was Eigenes gebastelt, das auch tadellos funktioniert.

Trotzdem vielen Dank!

Hier mein Code, wenns dich interessiert:






$server = "localhost";

$user = "root";

$pass = "";

$database = "pruefplan_test";

$table = "plan";

$datei = file('plan.csv'); //vollst. Inhalt der Datei wird zeilenweise in eindim. array eingelesen

//Inhalt einer Zeile wird zu ein arrayelement

echo "Erste Zeile der Datei: ".$datei[0].""; // erste Zeile wird ausgegeben

echo "Die gelesene Datei hat ".sizeof($datei)." Datensätze"; //Zeilenanzahl wird ausgegeben



$verbindung = @mysql_connect($server, $user, $pass)or die ("keine Verbindung");

mysql_select_db($database, $verbindung);

mysql_query("DELETE FROM $table") or die("SQL-Fehler: " . mysql_error()); // leert die Tabelle



for($i=0;$i
$field = explode(';', $datei[$i]); //die ";" werden herausgefiltert

//field ist ein eindim. array, in das die Werte einer Zeile geschrieben werden

//Zugriff auf das array z.B. so: echo $field[1]; das geht nicht: echo $field;

for($a=0;$a
$feld[$a]= $field[$a]; //arrayfeld und Variable werden hochgezählt...



$verbindung = @mysql_connect($server, $user, $pass)or die ("keine Verbindung");

mysql_select_db($database, $verbindung);

$sql = "INSERT INTO $table VALUES ('$feld[0]','$feld[1]','$feld[2]','$feld[3]',

'$feld[4]','$feld[5]','$feld[6]','$feld[7]',

'$feld[8]','$feld[9]','$feld[10]','$feld[11]',

'$feld[12]','$feld[13]','$feld[14]','$feld[15]',

'$feld[16]','$feld[17]','$feld[18]','$feld[19]',

'$feld[20]','$feld[21]','$feld[22]','$feld[23]',

'$feld[24]')";

}



if($sql != "")

$res = mysql_query($sql) or die("SQL-Fehler: " . mysql_error());

mysql_close ($verbindung);

}



$verbindung = @mysql_connect($server, $user, $pass)or die ("keine Verbindung");

mysql_select_db($database, $verbindung);



$abfrage = mysql_query("select * from $table");

$anz = mysql_num_rows($abfrage);

echo "Es wurden $anz Datensätze in die Datenbank eingefügt";



$x = mysql_query("SELECT * FROM $table WHERE f2 = 'WINFO' and f3 = '3'");

while ($ds = mysql_fetch_object($x)) {

$f1 = $ds -> f1;

$f2 = $ds -> f2;

$f3 = $ds -> f3;

$f4 = $ds -> f4;

$f5 = $ds -> f5;

$f6 = $ds -> f6;

$f7 = $ds -> f7;

$f8 = $ds -> f8;

$f9 = $ds -> f9;

$f10 = $ds -> f10;

$f11 = $ds -> f11;



echo $f1." ";

echo $f2." ";

echo $f3." ";

echo $f4." ";

echo $f5." ";

echo $f6." ";

echo $f7." ";

echo $f8." ";

echo $f9." ";

echo $f10." ";

echo $f11."";

}





// wenn in der txt-Datei mehr Felder sind als in der DB, wird es bei der Übergabe einfach abgeschnitten

//und erzeugt keine Fehlermeldung

//wenn txt-Datei weniger Felder enthält als DB, bleibt das Feld in der DB leer... keine Fehlermeldung

//!!!!!!!! Anzahl der Felder bei INSERT muss mit Anz. der Felder in DB übereinstimmen !!!!!!!!!!!!!!!!!!

?>







geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: