fragen zu: csv-satz in tabelle übertragen

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

  • fragen zu: csv-satz in tabelle übertragen

    hallo zusammen,

    ich schreibe für die verwaltung meiner seite ein
    upload-script (als ersatz für LOAD DATA INFILE)
    um daten aus unterschiedlichen exceltabellen in jeweils
    passende existierende datenbanktabellen zu übernehmen.
    dabei sind excel- und tabellenspalten synchron.

    meine vorgehensweise:
    manuell:
    - daten mit excel-funktionalität aufbereiten
    - excel-Tabelle als csv-datei ausgeben
    php-script:
    - csv-datei mit html-formular auswählen:
    <input type="file" accept="text/*" ... >
    - öffnet csv-datei (fopen)
    - stellt csv-zeile in arrray (fgetcsv)
    - erzeugt insert-befehl aus dem array (insert into)
    - speichert neuen satz in tabelle (mysql_query)

    das funktioniert mit meinen bisherigen daten,
    mit ein bisschen komfort und sicherheit drumrum.

    solche fragen konnte ich bisher nicht klären:

    1. wie kann ich die auswahl auf *.csv begrenzen
    <input type="file" accept="text/*" ... >?

    2. gibt es probleme bzw. wie kann ich sie vermeiden,
    wenn semikolon als separator benutzt wird und gleichzeitig
    im text das satzzeichen semikolon auftritt?

    3. wie ist html-semikolon zu behandeln, z.b. bei
    umlauten ü <=> & u u m l ;

    4. tipps, was ich auf dieser ebene beachten muss?

    vielen dank für mitdenken und erfahrungen
    oskar40
    Zuletzt geändert von oskar40; 30.12.2003, 00:03.
    gruss oskar40

    kapieren - nicht kopieren

  • #2
    3.) Ein Semikolon ist kein Sonderzeichen, sämtliche Sonderzeichen findest du unter:
    http://www.mediaevent.de/assets/sonderzeichen.html

    1.) Nachzulesen unter http://selfhtml.teamone.de/html/form...tei_upload.htm
    Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
    (Albert Einstein)

    Kommentar


    • #3
      danke,
      mir ging es aber nicht um die definition von "sonderzeichen", sondern um meine fragen.
      gruss oskar40

      kapieren - nicht kopieren

      Kommentar


      • #4
        Ja...und weils kein Sonderzeichen is dann man es ja auch als ; verwenden

        2. gibt es probleme bzw. wie kann ich sie vermeiden,
        wenn semikolon als separator benutzt wird und gleichzeitig
        im text das satzzeichen semikolon auftritt?
        Also normal müsstest du da Problem bekommen (du willst wahrscheinlich gezielt nach nem ; suchen um das Ganze zu trennen). Kannst du mal ein Beispiel für so eine Datei geben?
        Ich hab keine Ahung wie diese Datei aussieht, wenn der Text am Ende is kannst du ja die ersten 4 ; als Trennzeichen erkennen und alle ; danch einfach "vergessen"...
        Zuletzt geändert von Samson2k; 30.12.2003, 00:15.
        Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
        (Albert Einstein)

        Kommentar


        • #5
          zusatzinfos

          zusatzinfo zur frage
          1. wie kann ich die auswahl auf *.csv begrenzen

          ich benutze zur zeit:

          <input type="file" size="30" maxlength="30" name="csv"
          value="<? echo $csv; ?>" accept="text/*">

          ich habe es so verstanden, dass die angabe 'accept="text/*"'
          den dateityp festlegt. dabei möchte ich nicht "irgendeinen"
          text (durch * dargestellt), sondern nur *.csv-dateien
          anzeigen / zulassen. Wie heisst die konkrete eintragung?
          dazu habe ich nichts gefunden.

          +++++++++++++++++++++++++++

          zusatzinfo zu fragen
          2. semikolon als separator und satzzeichen
          und 3. html-semikolon

          excel erzeugt semikolon als separator zwischen zwei
          feldern, nicht am ende des satzes.
          zum trennen der felder benutze ich nicht
          explode (string separator, string string [, int limit])
          sondern
          fgetcsv (int fp, int length, string [Trennzeichen (Delimiter)])

          beispiel 1: schulferien (unproblematisch)
          datenfelder und 1 datensatz lt. excel-datei:

          FID;LAND;FERIEN;VON;BIS;BEMERKUNG;jahr;fer-nr
          ;Nordrhein-Westfalen ;Herbst;2004-10-18;2004-10-30;kmk 06/03;2004;5

          dieses beispiel ist übersichtlich (kein semikolon im text) und klappt.

          -------------

          beispiel 2: seminarbeschreibung (kann fehler produzieren)
          SID;T_TITEL;D_START;D_ENDE;T_BESCHREIB
          ;Excel-Praxis: Kalender und Zeit;2003-07-26;2003-07-26;In der Praxis gibt es immer wieder Situationen, in denen diese oder ähnliche Fragen auftreten:<ul><li>Altersermittlung: Wie kann ich aus zwei Terminen die genaue Dauer (Alter einer Person, Laufzeit eines Projekts oder Vertrags etc.) ermitteln?</li><li>Wie kann ich einen einfachen Kalender errechnen?</li></ul>

          z.b. das feld T_BESCHREIB ist ein beinahe "ganz normaler"
          text, kann semikolon, anführungsstriche, & uuml ; -umlaute,
          <br>-, <ul>-, <li>- und ähnliche tags enthalten
          (eine begrenzte textformatierung soll möglich sein.)
          textfeld ist von excel her nicht durch ' oder " begrenzt.
          manuelle prüfung/bereinigung ist mir zu unsicher.

          (ich weiss nicht, wie sowas zb in einem cms gemacht wird,
          ich will mich aber dahin nicht verzetteln, was ich hier mit
          csv-dateien mache, ist nur eine interne hilfsfunktion.)
          gruss oskar40

          kapieren - nicht kopieren

          Kommentar

          Lädt...
          X