Ankündigung

Einklappen
Keine Ankündigung bisher.

Dynamisch generierter Newsletter

Einklappen

Neue Werbung 2019

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

  • #31
    Genau. Und wenn Du dagegen die Reihenfolge
    Code:
    Schulze | schuschu@emaxple.com | Tonmeister  | Tonmeister
    Müller  | mueller@emaxple.com  | Bäcker      | Bäckermeister
    Schulze | schuschu@emaxple.com | Tonmeister  | Toningenieur
    hast, verschickst Du eben 4 E-Mails, weil die Adresse stets wechselt.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #32
      Danke für alle eure Unterstützung! Ich habe nun folgendes herausgefunden:

      Ich habe die query etwas verfeinert und habe herausgefunden dass wenn ich die $html var vor der Schlaufe definiere, diese einen Haufen Einträge generiert.

      Mir ist aber zum jetzigen Zeitpunkt noch immer nicht klar wie ich die E-Mail vor dem Gruppenbruch senden soll? Denn mach ich das, versende ich pro jobID einen Newsletter obwohl ich es ja richtig Sortiert habe zuerst nach E-mail...

      PHP-Code:
          WHERE newsletter_beruf.userID=newsletter.userID GROUP BY stelle.stelleID order by newsletter.userID DESCstelle.stelleID DESCstelle_beruf.berufID DESC";
           
      $result = mysql_query($query,$con); 
      while (
      $myrow = mysql_fetch_array($result)){ 
                  
      $html = ""; 
      Nur so erhalte ich keine Duplikate...

      Kommentar


      • #33
        Es heißt Schleife!

        Mir ist aber zum jetzigen Zeitpunkt noch immer nicht klar wie ich die E-Mail vor dem Gruppenbruch senden soll? Denn mach ich das, versende ich pro jobID einen Newsletter obwohl ich es ja richtig Sortiert habe zuerst nach E-mail...
        Ich schlage vor, DU machst das mal auf einem Zettel.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #34
          PHP-Code:
          $email ='';
          $emailtext '';
          // Schleife durch die Selektion
          while ( $row mysql_fetch_assoc($erg) ) {
            
          $email_jetzt $row['email'];
            if ( 
          $email_jetzt != $email and $email !='' ) {
              
          // $emailtext an $email senden
              
          $emailtext '';
              
          $email $email_jetzt;
            }
            
          // Email bauen
            
          $emailtext $emailtext $row[.. ];

          Das sind aber irgendwie Fingerübungen / Grundlagen.

          $email_jetzt ist eher überflüssig - man kan da auch direkt $row['email'] abfragen. Ich habs hier nur der Deutlichkeit halber so benannt.
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar


          • #35
            Danke, Wolla für das Bsp. aber irgendwie versteh ich es nicht ganz, habe was über fecht_assoc gelesen und das braucht man um schon geöffnete abfragen weiter abzufragen, stimmt oder? Jedenfalls nehm ich an dass ich deinen Code in meine schon geöffnte while ($myrow = mysql_fetch_array($result)){ Schleife einbaue. Oder ist das falsch?

            Sorry, ich wills ja verstehen und versuch's ja mit lesen und so aber irgendwo hab ich da nen riesen Knoten!

            Denn ich starte ja schon ne Schleife mit der mysql abfrage und wenn ich dann weiter Schleifen einbaue, dann multipliziert sich meine Ausgabe damit!

            Danke

            Kommentar


            • #36
              Warum engagiert ihr keinen Profi für so etwas?

              Steht doch ne Firma dahinter die ja auch was gescheites haben will nehme ich mal an
              "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

              Kommentar


              • #37
                Weil ich es machen will und es lernen will!

                Kommentar


                • #38
                  Schau dir mal den Unterschied bzw. die Gemeinsamkeiten von mysql_fetch_array() und mysql_fetch_assoc an.
                  PHP: mysql_fetch_array - Manual
                  PHP: mysql_fetch_assoc - Manual

                  In meinem code habe ich SELECT FROM ... und mysql_query() weggelassen, weil es ja nur um die Verdeutlichung des Gruppenwechsels ging. Wenn du ein derart sensibles System bauen willst ohne solche Basics zu beherrschen, dann lass da später lieber noch mal ein paar Kollegen drüberschauen. Das kann sonst teuer werden.
                  [PHP]if ($var != 0) {
                  $var = 0;
                  }[/PHP]

                  Kommentar


                  • #39
                    Upps ich glaub ich habs geschafft! Ich weis nicht wie orthodox das ganze ist, aber es funktioniert! Was meint Ihr? Vielen vielen vielen Dank an euch alle!

                    PHP-Code:
                    //letzte registrierte E-Mail Adresse herausfinden
                    $queryL "SELECT * FROM newsletter order by userID DESC";
                    $resultL mysql_query($queryL,$con);
                    $last = (mysql_fetch_array($resultL));
                    $emailL = ($last["email"]);

                    // nach join
                    $result mysql_query($query,$con);

                    // erste E-Mail rausfinden
                    $first = (mysql_fetch_array($result));
                    $emailS = ($first["email"]);

                    $plain "hallo newsletter";

                    while (
                    $myrow mysql_fetch_array($result)){

                        
                    $email = ($myrow["email"]);

                    // html pro E-Mail bauen
                        
                    if ($emailS == $email) {
                              
                    $html .= '<p>' $myrow["stelleID"] . '</p>';
                              
                    $html .= '<p>' $myrow["stellePosition"] . '</p>';
                              
                    $html .= '<p>' $myrow["stelleAngebot"] . '</p>';
                              
                    $html .= '<p>' $myrow["email"] . '</p>';
                             }

                    // Bei E-Mail wechsel Newsletter an gespeicherte E-Mail senden
                    if ($emailS != $email) {
                                
                    $mail->AddAddress("$emailS");
                                  
                    $mail->Subject "Our Newsletter";
                                  
                    $mail->Body $html;
                                  
                    $mail->AltBody $plain;
                                  
                    $mail->Send();
                                  
                    $mail->ClearAddresses();

                    // HTML und gespeicherte E-Mail neu setzen             
                                    
                    $html='';
                                    
                    $emailS $email;
                                   }
                    }

                    // Newsletter an letzten registrierten User versenden.
                    if ($emailS == $emailL) {
                                   
                    $mail->AddAddress("$emailS");
                                  
                    $mail->Subject "Our Newsletter";
                                  
                    $mail->Body $html;
                                  
                    $mail->AltBody $plain;
                                  
                    $mail->Send();
                                  
                    $mail->ClearAddresses();
                                   } 

                    Kommentar


                    • #40
                      GROUP BY Fehler

                      Hallo liebe Leute

                      Habe mich wieder mal an das Entwickeln des automatisch generierten newsletter gemacht. Habe folgenden Fehler gefunde:

                      Ich habe eine MsSQL Abfrage die so aussieht:
                      PHP-Code:
                      $query "SELECT
                                  *
                              FROM 
                                  stelle 
                              JOIN 
                                  stelle_region
                              ON
                                  stelle_region.stelleID=stelle.stelleID
                              JOIN
                                  region
                              ON
                                  region.regionID=stelle_region.regionID
                              JOIN 
                                  stelle_beruf
                              ON
                                  stelle_beruf.stelleID=stelle.stelleID
                              JOIN
                                  beruf
                              ON
                                  beruf.berufID=stelle_beruf.berufID
                              JOIN
                                  newsletter_beruf
                              ON
                                  newsletter_beruf.berufID=stelle_beruf.berufID    
                              JOIN
                                  newsletter
                              ON
                                  newsletter.userID=newsletter_beruf.userID
                                  
                              WHERE newsletter_beruf.userID=newsletter.userID AND stelle.stelleDatum > '
                      $dueDate' GROUP BY stelle.stelleID order by newsletter.userID ASC, stelle.stelleID DESC, stelle_beruf.berufID DESC"
                      dies schien auf den Esten Blick zu funktionieren, mit GROUPE BY konnte ich das Problem des mehrfache auflisten von stellen unterbinden, doch zugleich habe ich mir somit ein neues Problem geschaffen, denn wenn ich nun zBsp. die Stelle 1 für die ersten User abfrage, dann wird diese für den zweiten User nicht mehr aufgelistet.

                      PHP-Code:
                      while ($myrow mysql_fetch_array($result)){
                       
                      $beschrieb substr($text,0,350);
                          
                      $email = ($myrow["email"]);


                          
                      //e-mail bauen 
                          
                      if ($emailS == $email) {
                                
                      $html .= '<td colspan="2" style="font-size: 14px;
                                         font-family: Arial, Helvetica, sans-serif;
                                          color: #666666;
                                          font-weight: bold;
                                          line-height: 25px;
                                          font-size:14px;">' 
                      $myrow["stellePosition"] . '
                                          <font style="font-size:10px;"> (jobNr. ' 
                      $stelleID ') </font></td></tr>';

                                
                      $html .= '<tr><td style="font-size: 12px;
                                          font-family: Arial, Helvetica, sans-serif;
                                          color:#000000; line-height:16px;"> Arbeitsort:' 
                      $region '</td></tr>';

                                
                      $html .= '<tr>
                                          <td colspan="2" style="font-size: 12px;
                                          font-family: Arial, Helvetica, sans-serif;
                                          color:#000000; line-height:16px;">' 
                      $beschrieb;
                                
                      $html .= '... <a style="text-decoration: none;" href="http://www.smartpersonal.ch/stellen.php?stelleID=' .$stelleID;
                                
                      $html .= '"> |weiter ></a></td>
                                          </tr>'
                      ;
                                
                      $html .= '<tr><td colspan="2" style="border-bottom-width: 1px;
                                          border-bottom-style: solid;
                                          border-bottom-color: #FFFFFF;"><hr /></td>
                                          </tr>'
                      ;
                               }

                           
                      // e-mail wechselt, senden!
                            
                      if ($emailS != $email) {

                                       
                      $html .= '<tr><td colspan="2">&nbsp;</td></tr>
                                              <tr><td>&nbsp;</td></tr>
                                              <tr>
                                              <tr>
                                                <td colspan="2" style="background-color:
                                               #3972B3; color:#FFF; font-family:Arial, Helvetica, sans-serif; font-size:12px; padding:10px;">Sie k&ouml;nnen den smartLetter jederzeit <a style="color:#FFF; font-style:italic; font-weight:bold; text-decoration:none;" href="d">hier</a> abmelden.</td>
                                               </tr>
                                              </table>'
                      ;
                                          
                                  
                      $mail->AddAddress("$emailS");
                                    
                      $mail->Subject "smartLetter";
                                    
                      $mail->Body $html;
                                    
                      $mail->AltBody $plain;
                                    
                      //$mail->Send();
                                  
                      echo "<p class='mails'>$emailS</p>";
                                    
                      $mail->ClearAddresses();
                                  
                                  echo 
                      "$emailS";
                                  echo 
                      "$html";

                                  
                      $html=''
                      hat mir jemand einen Tipp wie ich aus diesem Dilemma finde?
                      Wäre euch sehr dankbar!!!!

                      Danke, Rilana

                      Kommentar

                      Lädt...
                      X