csv datei import nach mysql inkl. abfrage eines wertes aus einer anderen tabelle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • csv datei import nach mysql inkl. abfrage eines wertes aus einer anderen tabelle

    hallo,

    ich habe heute in der firma eine diskussion begonnen da wir noch wie
    in der steinzeit jeden monat umsatzdaten in eine mysql datenbank per
    hand via einem php script eingeben, es handelt sich da jeden monat um
    1000 - 1200 umsatzeingaben.
    jetzt ist es schon einige zeit her das ich ein wenig php programmiert
    habe und das aktuelle script auch nicht von mir, aber das problem das
    ich lösen will gliedert sich wie folgt:

    es gibt 2 tabellen

    "tabelle-kundendaten"
    internekundendnr
    externekundendnr1 (es handelt sich hier um die kundennummer die unser lieferant1 unserem kunden zuweist)
    externekundendnr2 (es handelt sich hier um die kundennummer die unser lieferant2 unserem kunden zuweist)
    externekundendnr3 (es handelt sich hier um die kundennummer die unser lieferant3 unserem kunden zuweist)
    firma
    strasse
    nr
    plz
    ort
    tel
    usw




    "tabelle-umsatzdaten"
    id
    internekundendnr (gleich wie die internekundennummer in der "tabelle-kundendaten")
    umsatzdatumexternekundendnr1
    umsatzexternekundendnr1
    umsatzdatumexternekundendnr2
    umsatzexternekundendnr2
    umsatzdatumexternekundendnr3
    umsatzexternekundendnr3


    wir bekommen von den lieferanten die umsatzlisten als csv mit folgenden spalten:


    externekundendnr1, umsatzdatumexternekundendnr1, umsatzexternekundendnr1
    2978, 2011-02-15, 1415
    2979, 2011-02-16, 768
    2980, 2011-02-16, 1610

    ich habe keine ahnung wie ich es schaffen soll ein csv zu importieren und dabei aber folgende schritte
    abzuarbeiten:


    1.) csv datei auswählen
    2.) die externekundennr1 (also die vom lieferanten festgelegte kundennummer) mit der "tabelle-kundendaten"
    abzugleichen um unsere "internekundendnr" rauszufinden um die dann zusammen mit dem datum und dem umsatz in
    die umsatztabelle zu schreiben.

    alle anderen auswertungen etc sind für unsere zwecke ausreichend und funktionieren einwandfrei, es wäre
    mir aber sehr geholfen wenn ich das automatisieren könnte, nur habe ich keine ahnung wie ich das problem
    angehen soll da ich auch nicht das bestehende script ändern will/kann.

    für hilfe wäre ich sehr dankbar
    gruss
    jürgen
    Zuletzt geändert von dagoo; 01.12.2011, 00:10.

  • #2
    Mal abgesehen, dass das Datenbankdesign ein wenig daneben ist, hast Du doch den Ablauf Deiner geplanten PHP Anwendung schon selbst gut geschrieben.

    Du liest zunächst die CSV Daten ein und ermittelst die externe Kundennummer. Danach ermittelst Du aus der Tabelle Kundendaten Eure interne Kundennummer und speicherst diese zusammen mit den Daten, die Du benötigst in der Umsatz Tabelle.

    Dazu benötigst Du die SPL (Standard PHP Library). Explizit probiere einfach mal das zweite Beispiel aus der Dokumentation zu SplFileObject::fgetcsv(). Mittels PDO kannst Du dann die Datenbank-Abfragen mit Leichtigkeit ausführen und das tun, was Du geplant hast.

    Um di externen Kundennummern zukünftig einfacher zu speichern, würde ich vorschlagen die externen Kundennummern auch in einer gesonderten Tabelle zu speichern. Die interne Kunden ID hast Du ja schon. So könnte man dieser ID in einer gesonderten Tabelle die externe Kundennummer eindeutig zuordnen.
    MM Newmedia | MeinBlog

    Kommentar

    Lädt...
    X