Viele Felder zu einem

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

  • Viele Felder zu einem

    Ich schon wieder.

    Hab schon wieder ein Problem.

    Ich soll eine Works-DB nach MySQL portieren.
    Funktioniert alles wunderbar, bis auf eines. Im Works ist der eigentliche Inhalt des Eingabe-Formulars in 14 Zeilen aufgeteilt. Daher hat jede Zeile ihr eigenes Feld, wenn ich die Datei als csv speichere.

    In meiner MySQL-DB ist für den Inhalt aber nur eine Zelle vorgesehen, da
    ich die Daten über ein HTML-Formular ausgebe. Der Inhalt steht dann in einer Textarea.

    Da es über 4000 Datensätze sind will ich die nicht per Hand eingeben.
    Wie kann man es machen, dass diese 14 Zeilen in ein Feld geschrieben werden und zwar so, dass nach jeder Zeile ein Umbruch kommt und eventuelle Einrückungen erhalten bleiben.

    Das muss doch irgendwie beim einlesen der csv über ein Array gehen oder?

    Danke im voraus.
    it's not a bug,
    it's a feature!

  • #2
    Sicher geht das. Aber einfacher ist es wohl, den Kram per phpMyAdmin in eine Tabelle mit 14 Zeilen-Feldern einzulesen und dann folgende Queries hinterherzuschicken:

    alter table DATEN add INHALT text;
    update DATEN set INHALT=concat(ZEILE1, '\n', ZEILE2, '\n', ZEILE3, ..., ZEILE13, '\n', ZEILE14);
    alter table drop ZEILE1, ZEILE2, ... , ZEILE13, ZEILE14;

    Die letzte Query musst du bei älteren MySQL-Versionen evtl. in 14 verschiedene aufsplitten.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Ich soll die DB ja für jemanden einrichten. Und damit ich ihm nicht noch den
      phpMyAdmin erklären muss wollte ich halt ein Script schreiben, das er
      einfach nur ausführen muss und dann hat er die Daten in der DB.

      Ausserdem hab ich Angst, dass er mir mit dem phpMyAdmin die gesamte
      DB zerlegt und ich dann jede Woche alles neu einrichten muss.
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        na denn ... schreib ein Skript

        hilfreiche Funktion dafür: fgetcsv

        Obwohl ... ich weiß ja nicht, wie das mit Kommata in den Daten ist. Schau dir zu dem Thema mal diesen Thread an.

        Du musst halt nur irgendwo zwischen Auslesen und Speichern
        die Werte der vierzehn Zeilen-Felder mit "\n" aneinanderhängen.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X