Daten aus txt in db

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

  • Daten aus txt in db

    hallo,

    Hat wer einen Tipp, wie ich daten aus einer txt datei in eine mysql db reinbringe??

    Konkret is es so:
    Ich habe eine txt Datei mit etwa 1200 E-mail Adressen.
    Pro Zeile 1 Adresse.
    Diese Adressen sollen nun in eine Datenbank rein.
    Damit ich später mit den Daten arbeiten kann, sollte jede Adresse in der db eine id und noch 5 weitere felder besitzen.

    Hat da wer eine Ahnung??
    Möchte nicht die ganzen Adressen einzeln per Hand in die db reinklopfen.

    Danke im voraus
    Die wenigsten Fehltritte begeht man mit den Füssen.

  • #2
    z.B. mit file in Array einlesen, mit implode geeignet aufbereiten und zusammen mit SQL-Command INSERT in die DB einfügen.

    Kommentar


    • #3
      - tabelle anlegen
      - datei einlesen file
      - insert-statement zusammenbauen implode
      - eintragen mysql_query
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Oje

        Komme damit nicht klar!

        Kann mir bitte wer helfen??
        Die wenigsten Fehltritte begeht man mit den Füssen.

        Kommentar


        • #5
          Re: Oje

          Komme damit nicht klar!
          womit?
          Kann mir bitte wer helfen??
          we did.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            schon bei der ersten zeile bekomme ich eine Fehlermeldung

            $lines = file ('wko.txt');
            //fehlermeldung: Parse error: parse error, unexpected T_VARIABLE in I:\.....

            binn ich zu blöd??
            Die wenigsten Fehltritte begeht man mit den Füssen.

            Kommentar


            • #7
              Wenn du über MS-Access verfügst besorg dir den ODBC-Treiber für mysql, leg eine ODBC-Verbindung an und importiere deine Textdatei nach Access. Dann kannst du die Tabelle um weitere Spalten ergänzen und mit Datei, speichern unter, Datentyp ODBC Quelle nach mysql bringen.

              Kommentar


              • #8
                Was meint ihr zu dieser Lösung?

                <?php
                $fp = fopen("wko.txt","r");
                if($fp) {
                for($zeile=1; $zeile<=1200; $zeile++) {
                $zeilen = fgets($fp, 70);
                echo"$zeile eingef&uuml;gt: $zeilen<br>";
                $sql ="INSERT INTO adressen (email)
                VALUES ('$zeilen')";
                mysql_query($sql);
                }
                fclose($fp);
                }
                ?>
                Die wenigsten Fehltritte begeht man mit den Füssen.

                Kommentar


                • #9
                  ist nicht falsch, nur - woher kommen die zahlen 1200 und 70?
                  da sollte man flexibler bleiben...

                  was hälst du von derhund's vorschlag - erst file(), dann das array mit foreach durchlaufen. sql-einträge machst du ja schon richtig.

                  Kommentar


                  • #10
                    1.)Da ich weiss wieviele zeilen in der txt datei sind, habe ich diese 1200 reingeschrieben.

                    2) Dachte mir nur, dass 70 Zeichen pro Zeile reichen.

                    Zum derhund's vorschlag:
                    Habs probiert, aber irgendwie hats nicht geklappt.

                    Natürlich wäre ich für code in dieser richtung dankbar, würde mir sehr weiterhelfen.
                    Die wenigsten Fehltritte begeht man mit den Füssen.

                    Kommentar


                    • #11
                      wie hast du es denn probiert?

                      Kommentar


                      • #12
                        so

                        $lines = file ('wko.txt');
                        foreach ($lines as $ausgabe => $line) {
                        $sql ="INSERT INTO test (email)
                        VALUES ('$line')";
                        mysql_query($sql);
                        echo"$line eingef&uumlgt<br>";
                        }

                        funktioniert ja auch fast, nur die \r\n hab ich nun auch in der DB
                        Die wenigsten Fehltritte begeht man mit den Füssen.

                        Kommentar


                        • #13
                          So funktioniert es


                          $lines = file ('wko.txt');
                          foreach ($lines as $ausgabe => $line) {
                          $erg = (trim ($line));
                          $sql ="INSERT INTO test (email)
                          VALUES ('$erg')";
                          mysql_query($sql);
                          echo"$erg eingef&uumlgt<br>";
                          }

                          Hab ich den Code richtig geschrieben?
                          Oder sollte ich ihn anders schreiben?
                          Die wenigsten Fehltritte begeht man mit den Füssen.

                          Kommentar

                          Lädt...
                          X