filter

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

  • filter

    Hallo!

    Ich schreibe gerade an einem script, um daten aus einer datei in mysql zu importieren.

    Bis jetzt kann ich datein hochladen und der inhalt der datei wird in einem String gespeichert.

    Wie kann ich nun, diesen String durchsuchen und Zeichenketten die zwischen einem " und "; bzw " und "\n stehen in neue Variablen kopieren, damit ich diese dann in die SQL datenbank kopieren kann?

    der inhalt des strings sieht so aus:


    Code:
    "univ@kopie.at";"";"";"";""
    "erste@computer-boerse.at";"";"";"";""
    "sb@3agroup.net";"";"";"";""
    "r.schmid@3d-promotion.at";"";"";"";""
    "office@3s.co.at";"";"";"";""
    "auto-bieber@eunet.at";"";"";"";""
    "";"";"";"";""
    "";"";"";"";""
    "contact@abss.at";"";"";"";""
    "";"";"";"";""
    "ans@ans.at";"";"";"";""
    "aar-beratung@vienna.at";"";"";"";""
    "abacusgmbh@hotmail.com";"";"";"";""
    "ABC-PARTY-SERVICE@gmx.at";"";"";"";""
    "office@abif.at";"";"";"";""
    ich brauche die email adressen und möchte sie in eine mysql datenbank importieren!

    kann mir wer ein bissi helfen? kennt jemand eine funktion dafür?

    Danke einstweilen!!!

  • #2
    Re: filter

    Original geschrieben von shebaka
    Wie kann ich nun, diesen String durchsuchen und Zeichenketten die zwischen einem " und "; bzw " und "\n stehen in neue Variablen kopieren, damit ich diese dann in die SQL datenbank kopieren kann?
    brauchst du doch gar nicht....

    schaue dir einfach mal LOAD DATA an ....

    *VERSCHIEB* nach sql
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hi,

      Code:
      //Austauschen von ";" durch "
      $dateiinhalt = str_replace("\";\"", "\"",$dateiinhalt);
      //Austauschen von "\n durch "
      $dateiinhalt = str_replace("\"\n", "\"",$dateiinhalt);
      //Austauschen von "" durch NULL um leere Arrayfelder zu vermeiden
      $dateiinhalt = str_replace("\"\"", "",$dateiinhalt);
      //Die Variable $dateiinhalt an den Zeichen " teilen und in das Array $editdateiinhalt schreiben
      $editdateiinhaltinhalt = explode("\"", $dateiinhalt);
      //Ausgabe
      for ($i=0; $i <= count($editdateiinhalt); $i++)
      {
        //z.B.
        print $editdateiinhalt."<br />";
      }
      Ich hoffe das hat dir geholfen.
      Gruß Christian
      Wer immer nur tut was er kann lernt nie was neues.

      Kommentar


      • #4
        Danke!

        Aber ich glaub, es ist nicht das was ich suche!

        ich bräuchte echt einen code, der zum ersten Anführungszeichen geht und von da weg alles bis zum nächsten Anführungszeichen ausschneidet und in eine Variable kopiert.

        dann wird kontrolliert, ob die variable einen Wert besitzt.

        dann schaut das script, ob der eintrag in der datenbank vorhanden ist.

        wenn ja geht das script weiter zum nächsten " und macht das gleiche wie vorher, ansonsten wird der Wert in die Datenbank eingefügt!

        Ich mach das deshalb so, weil es leerzeilen geben wird und ich keine leeren datensätze in der datenbank haben will.

        nur wie sag ich in PHP, gehe zu " kopiere alles bis zum nächsten " und füge es in eine neue Variable?

        Kommentar


        • #5
          explode()
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            vielen dank!

            ihr habt mir sehr geholfen!!!!

            zuerst benutze ich explode(), um die werte die zwischen " und " stehen in arrays zu schreiben.

            jedes array läuft dann durch str_replace() damit filtere ich noch ; \r und \n heraus, damit sind die arrays, die keine emailadresse enthalten ganz leer!

            juhuuu!!!! Danke für eure Hilfe!!!



            Jetzt muss ich nur noch den wert der arrays auf "true" überprüfen und in die datenbank importieren!

            cya!

            Kommentar

            Lädt...
            X