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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.03.2006, 15:16:13
skokarl skokarl ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 34
LOAD INFILE and Excel

Hallo zusammen,
erstmal Danke an die Macher dieses Forums.

Nun zu mir, als "älterer Mitstreiter" und PHP Newbie habe ich mir heute den ganzen Tag den Kopf darüber zerbrochen wie ich einzelne Spalten oder Reihen aus einer Excel Tabelle nach mySQL kriege .... gesucht, gegoogled und doch nichts gefunden.

An der Excel Struktur oder Tabelle kann ich nichts ändern, diese kommt täglich per Mail....( aus Wunsch auch als csv )

Aus dieser Tabelle ( ca 10 Zeilen, aber 200 Spalten ) benötige ich zur weiteren Verarbeitung ca 10 Spalten.
Wenn ich die Beschreibung von "LOAD DATA LOCAL INFILE" richtig verstanden habe, ist es NICHT möglich einzelne Spalten auszuwählen.
Ich kann zwar nur bestimmte Tabellenfelder in mySQL füllen .... aber dieses dann mit bestimmten Spalten, ist wohl nicht möglich.

Hat jemand eine Hilfe für mich, oder eine Idee ?
Wenn's geht aber bitte mit Beispiel, ich tue mich im Moment mit PHP ( übrigens eine geile Erfindung, wie ich finde ) unheimlich schwer ....

genauer gesagt habe ich mit PHP erst gestern angefangen ...:-)
aber ich lerne schnell.

Gruß
Mit Zitat antworten
  #2  
Alt 30.03.2006, 15:21:48
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: LOAD INFILE and Excel

Du kannst eine CSV Datei z.B. mit fgetcsv auslesen. Da ist auch ein Beispiel, wie das ganze funktioniert. Daraus kannst Du dann natürlich die gewünschten Spalten weiterverwenden.
Mit Zitat antworten
  #3  
Alt 30.03.2006, 18:09:14
skokarl skokarl ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 34
AW: LOAD INFILE and Excel

ja, das sieht schonmal gut aus. DANKE
Ist jetzt natürlich für mich als Newbie ein bisschen heftig.

wenn nochmal jemand Lust oder Zeit hätte mir einen Dreizeiler zu zeigen,
wie ich z.B. ab Zeile 2 Spalte 4,5,und 6 auslese ...das wäre super.

( 1.Problem, die Überschriften der Excel Datei, daher ab Zeile 2 )
( 2.Problem die Schleife von 2 bis Ende )
( 3.Problem,..das Insert into...aber das könnte ich hinbekommen )

Nach dem Auslesen kommt ein Insert Into, Ist mein Ansatz richtig ?
Mit Zitat antworten
  #4  
Alt 30.03.2006, 19:50:01
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: LOAD INFILE and Excel

Meinst Du jetzt Zeile 2,4,5 oder Spalte 2,4,5 ?
Zeig doch mal, was Du schon hast, dann kann man da besser weiterhelfen.

Allgemein : Lies Zeilenweise ein und lasse einen Zähler z.B. $i mitlaufen!

1. Problem : Wenn $i==1 dann tu nix, sonst ...
PHP-Code:
IF ($i==1tu nix ELSE ... 
2. Problem : Ist kein Problem, wenn Du Dich z.B. an das Beispiel hältst, dass bei der Erklärung von fgetcsv verwendet wird
3. Problem : Dazu wäre wohl etwas mehr Deines Quellcodes notwendig. Ja, wenn die Daten tatsächlich immer zugefügt werden ist INSERT INTO schon mal gut.
Mit Zitat antworten
  #5  
Alt 31.03.2006, 15:14:09
skokarl skokarl ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 34
AW: LOAD INFILE and Excel

Hat alles super geklappt .... Vielen herzlichen Dank.
( sieht zwar Newbie mäßig aus...funktioniert aber )
Trotzdem möchte ich noch zwei Dinge fragen bevor ich den Thread als erledigt betrachte ... :-)

Wie kriege ich den String der ein ehemaliges Datum von Excel enthält wieder in ein vernünftiges Datums Format für mySQL ?

und

Wie kann ich vor dem Insert Into abfangen dass dieser DS schon in der DB ist ? ( bitte nicht die brutale Methode über Schlüsselverletzung )

Gibt's da sowas wie ... If select datensatz schon vorhanden then mache nix else Insert into ?

Geändert von skokarl (31.03.2006 um 15:15:22 Uhr)
Mit Zitat antworten
  #6  
Alt 31.03.2006, 16:02:17
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: LOAD INFILE and Excel

Splitte das Datum z.B. mit explode auf oder nimm die Zeichen per substr und bring sie in die richtige Reihenfolge.

SQL bin ich nicht so fit, ich würde einfach prüfen, ob Du einen Datensatz mit diesen Daten findest und diesen ggf. ersetzen oder eben hinzufügen...
Mit Zitat antworten
  #7  
Alt 03.04.2006, 07:46:38
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: LOAD INFILE and Excel

Entweder du machst das so wie Giz gesgt hat, oder du wandelst das Datum in den Unix-Zeitstempel um und dann wieder zurück in richtiger Reihenfolge.
Meinst du mit DS eine Zeile aus irgendeiner Datei, oder die csv Datei an sich?
Wenn du die csv Datei meinst, würde ich einfach den Dateinamen (vorrausgesetzt du bekommt immer verschiedene) in eine zweite Tabelle speichern und dann ggf. vor jedem einfügen überprüfen.
Falls nicht, musst du erstmal schauen ob dieser Datensatz existiert, wenn nicht dann hinzufügen (so wie schon gesagt).
Mit Zitat antworten
  #8  
Alt 03.04.2006, 15:50:46
skokarl skokarl ist offline
Anfänger
 
Registriert seit: Mar 2006
Beiträge: 34
AW: LOAD INFILE and Excel

Danke, habs hinbekommen.

PHP-Code:
$sql mysql_query("SELECT gfsmnr,datum FROM gfsmd WHERE gfsmnr = '$gfsmnr' and datum ='$datum'");
  
 if(
mysql_num_rows($sql) == 0) { // Anzahl gleich =0 
Vergleiche vor dem Insert ob der DS schon mit der Nr und dem Datum existiert. Ist bestimmt nicht die eleganteste Lösung, geht aber ( zumindest bisher :-))
Mit Zitat antworten
Antwort


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
Datenupload von Excel in Mysql rumba PHP Grundlagen 3 19.10.2005 11:23:58
Datenbank mit Excel Liste füllen Da_Hero PHP für Fortgeschrittene und Experten 1 18.02.2005 14:00:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:45:07 Uhr.


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


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