PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : textdatei in datenbank mittels phpscript???


neo71
23.09.2002, 21:52:20
wie kann ich eine textdatei (datebsätze mittels pipe getrennt)
in eine mysql-datenbank einlesen - phpscript???
ich möchte nicht phpmyadmin benutzen und auch nicht über den mysql-monitor gehen.
es sollte per php-script erfolgen...
gruß'n'thx

MiH
24.09.2002, 09:03:00
dateieinlesen, wenn alles in einer zeile steht bsp:
name|-|telefon|-|email
name|-|telefon|-|email
dann eignet sich file() sehr gut.
du hast dann per
$line = file("txt.txt");
den array $line;
diesen kannst du dann in einer schelifen splitten und in die db eintragen.
das würde dann so aussehen:

for($a=0;$a<count($line);$a++){
$sub = explode("|-|",$line[$a]);
$sql = "insert into table ('name','telefon','email') values ('".$sub[0]."','".$sub[1]."','".$sub[2]."')";
mysql_query($sql,$db);
}

Matt
24.09.2002, 11:11:48
nö... geht viel besser:
(ich nehme an, es sind einfache pipes gemeint?)

$file=fopen("txt.csv","r");
while($sub=fgetcsv($file,"|"))
{
$sql = "insert into table ('name','telefon','email') values ('".$sub[0]."','".$sub[1]."','".$sub[2]."')";
mysql_query($sql,$db);

}

neo71
24.09.2002, 14:25:17
danke für eure antworten, aber ich hatte es gestern nacht noch selbst geknackt:


<?

include("open_db.php");

$textdatei ="textdatei.txt";

$datei = fopen($textdatei, "r");

while (!feof($datei))
{
$zeile = fgets($datei, 255);
$array = explode("t",$zeile);
if ( !mysql_query ("insert into textdatei (eins,zwei,drei,vier,fuenf,sechs,sieben,acht) values ('$array[0]','$array[1]','$array[2]','$array[3]','$array[4]','$array[5]','$array[6]','$array[7]')") )
{
echo mysql_error();
}
else
{
echo ("<b><center><font face="verdana" size="2">Ihre Eingaben sind dem Datenbestand erfolgreich zugefügt worden!</font></center></b>");
}
}

?>

gruß