SQL - Ergebins zeilenweise in Textarea speichern

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

  • SQL - Ergebins zeilenweise in Textarea speichern

    Hallo...

    ich habe gerade ein kleines Problem bei der Verarbeitung eines Arrays, das aus einer SQL - Abfrage erzeugt wird. Ich habe in einer Tabelle alle Domainnamen gespeichert, an die keine Email versendet werden soll. Nun möchte ich diese Werte alle in einer Textarea ausgeben.

    Die Ausgabe soll aber Zeilenweise erfolgen...sprich:

    @domain.de
    @test.de
    @gravenreuth.de

    Wie macht man das?

    Das nächste Problem wäre dann das zurückschreiben in die Datenbank nach einer eventuellen Änderung. Nutze momentan ein Feld vom Typ "Text" und haben die Domains dort mit einem Komma getrennt gespeichert und müßte ja vor dem Speichern die Zeilen wieder in einen durch Kommas getrennten String verwandeln.
    Mfg,

    Schoppy

  • #2
    ein bischen denken schadet dir auch nicht...
    PHP-Code:
    // für die textarea
    echo implode("\n"explode(','$daten_aus_der_db));

    // für die db
    echo implode(','explode("\n"$daten_fuer_die_db));

    // oder auch 

    // für die textarea
    echo str_replace(','"\n"$daten_aus_der_db);

    // für die db
    echo str_replace("\n"','$daten_fuer_die_db); 
    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
      Hallo...

      oh...danke...da hätte ich wirklich selber drauf kommen können...zumal ich schon die ganze Zeit mit explode() getestet hatte...

      Trotzdem danke...
      Mfg,

      Schoppy

      Kommentar


      • #4
        Hallo...

        ich nochmals...das zerlegen in einzelne Zeilen klappt nun ganz gut...nur möchte ich mit den Werten der jeweiligen Zeile nun eine Funktion aufrufen...dazu nutze ich folgenden Code.
        PHP-Code:
        $liste explode($_POST['seperator'], $_POST['liste']); 
        foreach(
        $liste AS $key) {
            
        add_email($key$_POST['email_grp']);
                        
        //Testweise
        echo $key."</br>";

        Leider wird die Funktion add_email() immer nur einmal ausgeführt...
        Mfg,

        Schoppy

        Kommentar


        • #5
          in $key stehen ja nur nummern drin. mache es mal so.

          PHP-Code:
          $liste explode($_POST['seperator'], $_POST['liste']); 
          for (
          $i=0;$iy<count($liste);++$i)
              
          add_email($liste[$i], $_POST['email_grp']);
                          
          //Testweise
          echo $liste[$i]."</br>";

          abgesehen davon weiss ich aber nicht, wie die erwarteten parameter von add_email() sind.
          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


          • #6
            Hallo...

            nein...das klappt nicht...zumal bei meiner Version in $key nicht die Nummern stehen, sondern korrekt die entsprechenden Werte angezeigt werden...

            Der echo-Befehl gibt z.b. folgendes aus:

            beispiel1@email.de
            test2@emailadresse.de
            ...
            etc...
            ....

            Daran kann es also nicht liegen...die Funktion arbeitet ja auch fehlerfrei...allerdings nur einmal...
            Mfg,

            Schoppy

            Kommentar


            • #7
              tja. ich kenne die funktion nciht. habe ich dir ja gesagt.
              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


              • #8
                Hallo...

                die Funktion nutzt eigentlich nur 2 Parameter...eine Emailadresse und eine Gruppen-ID...ich poste mal das wichtigste hier...
                PHP-Code:
                /* 
                    Diese Funktion trägt eine neue Emailadresse ein und überprüft 
                    zuvor, ob die Adresse auf der Black/Sperrliste steht
                */
                function add_email($email$gruppe) {
                    global 
                $tpl$db$prefix$error$error_msg$options;
                    
                    
                $email trim($email);
                    
                $array_sperrliste explode(','$options['sperrliste']);
                    
                $array_blackliste explode(','$options['blackliste']);
                    
                    
                /* Überprüfen ob die Domain auf der Sperrliste steht */
                    
                $domain strrchr($email"@"); 
                        
                    foreach(
                $array_sperrliste AS $sperrliste) {
                        if(
                $sperrliste == $domain) {
                            
                $error TRUE;
                            
                $error_msg "Eintragen nicht möglich: <b>".$domain."</b> befindet sich auf der Sperrliste !";
                            
                $tpl->load('error_bit''error_bit');
                        }
                    }
                            
                        
                    ...
                hier finden noch weitere Prüfungen statt...

                    
                /* Email - Adresse eintragen */    
                    
                if($error == FALSE) {
                        
                $db->query("INSERT INTO ".$prefix."email (reg_date, email, gruppe) VALUES (NOW(), '".$email."', '".$gruppe."')");
                        
                $error TRUE;
                        
                $error_msg "Die Adresse <b>".$email."</b> wurde eingetragen !";
                        
                $tpl->load('error_bit''error_bit');
                    }

                Ich hoffe das dir das weiterhelfen kann...
                Mfg,

                Schoppy

                Kommentar


                • #9
                  irgendwie verstehe ich grad den zusammnhang nicht...
                  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


                  • #10
                    In wie weit?

                    Gut...ich versuche es mal zu erklären...

                    An die Funktion add_email() soll eine Emailadresse und eine GruppenID übergeben werden...die Emailadresse wird dann in der Funktion auf verschiedene Parameter geprüft...z.B. ob die Adresse auf einer Blacklist steht etc...wenn alle Prüfungen bestanden wurden, dann wird die Emailadresse in der Datenbank gespeichert...

                    Das klappt mit einer Emailadresse einwandfrei...

                    Nun habe ich auf der Seite über die ich die Adressen eintrage noch eine Textarea gesetzt, in der ich z.b. mehrere Emailadressen getrennt durch einen Seperator eintragen kann...nach versenden des Formulars soll nun dieser String wieder ein einzelne Emailadressen geteilt werden und für jede Adresse soll die Funktion add_email() aufgerufen werden...

                    Das teilen klappt ja bekanntlich...nur die Funktion wird eben nur einmal ausgeführt...
                    Mfg,

                    Schoppy

                    Kommentar


                    • #11
                      ist die o.g. fkt evtl eine methode? also in einer classe?

                      und ist $error immer korrekt definiert?

                      $error == FALSE

                      kann es sein, dass du im ersten durchlauf in den prüfungen ein true für $error setzt?
                      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


                      • #12
                        Hallo...

                        danke für den Tip...ich habe jetzt am Anfang der Funktion nochmals $error = FALSE gesetzt...dann klappt es...ist ja eigentlich auch logisch, denn nach dem ersten Eintrag wird die Variable ja auf TRUE gesetzt und dann nicht wieder resetet...
                        Mfg,

                        Schoppy

                        Kommentar


                        • #13
                          na dann ...
                          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

                          Lädt...
                          X