Einzelnen Beitrag anzeigen
  #2  
Alt 13.08.2007, 12:15:51
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Daten aus csv-Datei in zwei Tabellen speichern

Du kannst die csv-Datei mit der Funktion fgetcsv() Zeilenweise auslesen und die Spalten als Array erhalten.
Ansonsten Zeilen mit der Funktion fgets() auslesen und mit explode() die Spalten trennen.

Oder mit file() die ganze Datei einlesen und die Zeilen (Array!) mit explode() in eine zweite Array-Dimension oder ein Hilfsarray trennen.

Danach läuft eine Schleife durch das Array, die prüft ob das Buch der jeweiligen Zeile schon in der Tabelle 1 ist.
- Ja: UPDATE ... // oder auch kein Update, wie du willst
- Nein: INSERT ...

Weiter nimmt diese Schleife die Buch-ID (Bei einem Update "weißt" du die Buch-ID, bei einem Insert bekommst du sie über die Funktion mysql_insert_id(); ) und schreibt sie in die zweite Tabelle, zusammen mit der Kategorie Info aus deiner csv-Datei.

Die ersten beiden Zeilen kannst du bei dieser Art der Auswertung einfach überspringen, dafür muß nix in der Datei gelöscht werden.

Geändert von Raketenmann (13.08.2007 um 12:18:36 Uhr)
Mit Zitat antworten