Idee für CSV Import

djkey

Grünschnabel
Hi,

ich bin gerade dabei, einen CSV Import in PHP zu definieren. Jetzt hatte ich die Überlegung wie folgt vor zu gehen.

Schritt 1) File uploaden
Schritt 2) Spaltennamen ausgeben
Schritt 3) Spaltennamen mit Importwerten verknüpfen
Schritt 4) Import ausführen und in DB schreiben

Nun würde ich gerne wissen wie ihr Schritt 3 umsetzen würdet?
Für jede Spalte ein Dropdown mit möglichen Werten ausgeben?

Sinn ist es, wenn in der CSV spalten getauscht sind, diese direkt in PHP richtig zuordnen zu können.

Gruß djkey
 
Hallo djkey,

ja, genau man könnte es zum Beispiel mit Dropdowns lösen. Der Knackpunkt ist aber, dass man die Verknüpfung im PHP-Skript richtig implementiert.
 
Man könnte das ganze ja anhand der IDs zuordnen.
Das Array entsprechend umsortieren und dann eintragen.
Ich hoffe, es kommen noch weitere Ideen oder sogar nen praktischer Schnippet ;D
 
Ich sitze auch gerade an so etwas ähnlichen.

Ich geh da ungefähr so vor:
  1. Datei Uploaden
  2. Charset der Datei ermitteln
  3. Die Datei einlesen und Cachen
  4. die ersten 10 Datensätze zum Klienten schicken damit er alles prüfen kann (wie bei OpenOffice) und gegebenenfalls korrigieren
  5. Datensätze in DB speichern

Der Upload und die Korrekturen werden über Ajax realisiert. Das geht schneller und ist für die User leichter zu bedienen.
 
Kannst du das Ajax Beispiel hier mal zeigen? Oder ala Pastebin, das ist schließlich der Punkt mit dem ich nicht zufrieden bin und alternativen suche.

Wäre klasse
 
Kannst du das Ajax Beispiel hier mal zeigen? Oder ala Pastebin, das ist schließlich der Punkt mit dem ich nicht zufrieden bin und alternativen suche.

Nein leider nicht, da 2 Frameworks dahinter stehen und das wird zu viel auf einmal.

Das mit dem Dropdown geht schon aber dann muss man aufpassen das jede Spalte nur einmal zugeordnet wird. Erstellst du die Tabellen neu oder füllst du sie nur? Hast du vielleicht auch schon mal an einen Import von xls Dateien gedacht?
 
Die Tabellen werden neu erstellt, bin gerade noch am Grundkonzept und DB Design.
Allerdings wird nicht für jeden Import ne neue Tabelle erstellt falls du das meinst.

ob ich nun nen xls oder nen csv import mache spielt eigentlich keine rolle, evtl. wird sogar beides angeboten.

Für den hier genannten Schritt sind die importierten Spaltennamen sowieso bereits in nem Array.
 
Zurück