SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 13.08.2007, 11:09:05
sputnik72 sputnik72 ist offline
Anfänger
 
Registriert seit: Apr 2005
Alter: 47
Beiträge: 121
Daten aus csv-Datei in zwei Tabellen speichern

Hallo,
ich habe folgende Problemstellung, zu der ich einen guten Rat bräuchte:

Ich habe zwei Tabellen, wobei in Tabelle 1 Daten über Bücher abgelegt sind (Autor, Titel, usw., insgesamt 13 Felder inkl. ID) und die Tabelle 2 dazu dient, diese Bücher bestimmten Kategorien zuzuordnen. Tabelle 2 hat nur zwei Felder, eins mit dem Buch-ID und eins mit der Kategorienummer. Die zweite Tabelle gibt es, damit man ein Buch auch eventeuell mehreren Kategorien zuordnen kann.

Nun sollen Daten aus einer csv-Datei via php (nicht phpmyadmin) importiert werden. Die csv-Datei wird von einem Nutzer mit Hilfe von Excel oder OpenOffice generiert. Am besten wäre es, wenn der Nutzer nur EINE Tabelle bearbeiten bräuchte (bzw. soll er eine Vorlage benutzten), in der die Kategorienummer einfach als zusätzliches Feld eingetragen ist.

Das Hochladen und der Datenimport in Tabelle 1 ohne die Kategorie klappt soweit. Nach dem Hochladen mache ich den Import zur Zeit so, wobei ich vorher noch die ersten beiden Zeilen der Datei lösche, die die Überschriften und eine Beispielzeile enthält (ich vermute, dass man das auch eleganter machen kann, aber es funktioniert):

PHP-Code:
$str_ziel "/home/bokbyen.no/public_html/dokument/".$_FILES['thefile']['name'];

// Zugriffsrechte anpassen
chmod($str_ziel0777);

# erste Zeile (Ueberschriften) der csv-datei loeschen
$d file($str_ziel); 
unset(
$d[0]); 
$neu implode(""$d); 
$open fopen($str_ziel"w+"); 
fwrite($open$neu); 
fclose($open);  

# zweite Zeile der csv-datei loeschen
$d file($str_ziel); 
unset(
$d[0]); 
$neu implode(""$d); 
$open fopen($str_ziel"w+"); 
fwrite($open$neu); 
fclose($open);  

$sql "LOAD DATA LOCAL INFILE '$str_ziel' IGNORE INTO TABLE bokliste
FIELDS TERMINATED BY ';' "
;

if(
mysql_query($sql)) {
echo(
"<p><b>Data blei importert i databasen.</b></p>");
}

else {
echo(
"<p>Det oppstod ein feil under import av csv-data. Pr&oslash;v ein gong til.<br />".

       
"Feil: " mysql_error() . "</p>");

Doch mit dem zusätzlichen Kategoriefeld müsen die Daten ja erst irgendwie getrennt und dann in zwei verschiedene Tabellen importiert werden. Und hier weiss ich nicht genau, wie man am besten vorgehen sollte.

Ich habe irgendwo gelesen, dass man die Daten einer csv-Datei zeilenweise auslesen lassen und sie dann in einem Array speichern kann (wobei ich nicht weiss, wie man das macht), dann folgt der Import. Könnte man im Zuge einer solchen Vorgehensweise die Daten aus der csv-Datei auch trennen und zwei verschiedene Arrays erstellen, die dann jeweils in Tabelle 1 und 2 eingelesen werden? Falls ja, wie macht man das?
Oder gibt es noch eine einfachere Lösung für das Problem?

Wäre dankbar für Tips!

Beste Grüße
Sputnik
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mit PHP daten aus MYSQL in eine XML speichern! ferryx PHP für Fortgeschrittene und Experten 3 14.03.2007 09:53:22
Daten platzsparend speichern CFJH MySQL/MySQLi 1 22.12.2006 14:45:03
Tabellen in *.txt datei nach Datum / ID sortieren? claud PHP Grundlagen 1 19.02.2006 14:34:40
Meta Daten aus Pdf Datei auslesen und in db speichern waiman PHP für Fortgeschrittene und Experten 0 03.06.2004 10:58:17
Personendaten in Datei auf Server speichern! Satherlor PHP Grundlagen 1 12.10.2003 20:55:20


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:38:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.


© 2001-2020 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt