lousek
Goto Top

Aus .txt zeilenweise mittels PHP in MySQL-Datenbank schreiben

Hallo Forum.

Für ein Schulprojekt haben wir eine Liste mit über 2000 Spielen enthalten, die wir in eine DB schreiben sollen + Genres etc dazuschreiben sollten.

Die ganzen Spiele sind in einer .txt gespeichert ...

Habe es so umgeformt, dass das Format folgendes ist:

Spielname; Spieljahr; Herstellername

Also z.B.:

100000 Pyramid ;1988;Basada

Die Datenbank besteht aus 4 Tabellen, 3 davon sind hier nur relevant:

-->Spiel (spiel_id,spiel_name,spiel_genre,spiel_hersteller,spiel_farbe,spiel_sprache,spiel_jahr)

-->Hersteller (hersteller_id,hersteller_name)

-->Genre (genre_id,genre_name)

sprache (sprache_id,sprache_name)

Wie ich mit PHP Werte aus einer .txt auslese und in eine DB auslese ist mir schon klar, aber wie kann ich die Trennung machen?

Also wie lese ich eine Zeile so aus, dass ich sie z.B. in einem array speichern könnte, etwa so:

while ($zähler <= $zeilen in txt) {
$array['0'] = $erste spalte in .txt (also z.B. 100000 Pyramid);
$array['1'] = $zweite spalte in .txt (also z.B. 1988);
$array['2'] = $dritte spalte in .txt (also z.B. Basada);
$zähler++;
}

Greetz, Lousek

Content-ID: 90224

Url: https://administrator.de/forum/aus-txt-zeilenweise-mittels-php-in-mysql-datenbank-schreiben-90224.html

Ausgedruckt am: 10.04.2025 um 16:04 Uhr

Arano
Arano 19.06.2008 um 20:46:20 Uhr
Goto Top
Tag,

du suchst nach explode()
<?php
 $spielesammlung_txt=file('spile_db.txt');  
 foreach($spielesammlung_txt as $spiel){
  list($name,$genre,$hersteller)=explode('; ',$spiel);  
  echo 'Name: '.$name;  
  echo 'Genre: '.$genre;  
  echo 'Hersteller: '.$hersteller;  
 }
?>

~Arano

Edit:
Hm...
foreach(file('spile_db.txt') as $spiel){
...könnte auch funktionieren...
Lousek
Lousek 19.06.2008 um 21:23:35 Uhr
Goto Top
Heyyy, danke, genau das was ich brauche face-smile

Nur etwas ist mir nicht ganz klar:

du sagst

foreach($spielesammlung_txt as $spiel) {
...

Wie weiss dieser das er Zeile für Zeile nehmen soll?

Greetz, Lousek
Arano
Arano 20.06.2008 um 03:08:32 Uhr
Goto Top
Daaas ist ganz einfach !
1. s. file()
2. file() liest dir die Datei zeilenweise in ein Array und mit der foreach-Schleife, gehst du dann die Elemente in dem Array einzelnt durch (hier die einzelnen Zeilen der ursprünglichen Datei)

Gruß Arano
Lousek
Lousek 20.06.2008 um 09:07:22 Uhr
Goto Top
Mhm, gut zu wissen face-smile
Bin ja noch N00B :P

Funktioniert alles bestens (auser das ich an jedem Ende der Zeiel auch noch ein ; einfügen musste ... sonst hatte er immer noch einen " " dahinter (Leerschlag))

Greetz und Thx, Lousek