Avatar billede zac Nybegynder
25. november 2005 - 01:09 Der er 9 kommentarer og
1 løsning

Hvordan samle flere resultater til een var. som $message i mail("

Hvordan får jeg - til nyhedsbrev - koblet email adresser fra tabel emailliste og indholdet fra tabel afsnit?

$result1 = mysql_query( "SELECT email FROM emailliste");
while ($row1 = mysql_fetch_array($result1))
{   
        $email                = $row1["email"];
        $to = $email;
   
        $result2 = mysql_query( "SELECT afsnitTitel FROM afsnit (nyere end dato....)");
        while ($row2 = mysql_fetch_array($result2))
        {   
                $afsnitTitel                = $row2["afsnitTitel"];               
                $message = $afsnitTitel;
               
                mail($to, $subject, $message, $headers)
                // giver en email til dem på emaillisten for hver afsnitTitel; det skulle være en liste over afsnitTitel
        }   
}

Hvordan får jeg samlet resultatet flere afsnitTitel til een streng som $message?
Eller er det en dårlig strategi?
Avatar billede johan.o Nybegynder
25. november 2005 - 01:17 #1
Hvis du mener at du vil kombinerer indholdet fra flere mails i en mail så -->

$message="";

$result2 = mysql_query( "SELECT afsnitTitel FROM afsnit (nyere end dato....)");
while ($row2 = mysql_fetch_array($result2)) {
$message.=$row2["afsnitTitel"]; }

mail($to, $subject, $message, $headers)
// giver en email til dem på emaillisten for hver afsnitTitel; det skulle være en liste over afsnitTitel

<--

Så 'væltes' alle afsnitTitel's ind i samme streng som så puttes i mailen.

Hvordan mailen så ser ud er jo en anden snak :)

Mvh. Johan
Avatar billede zac Nybegynder
25. november 2005 - 23:06 #2
Neej... jeg vil gerne kombinere flere afsnits titler i een/ samme mail, som sendes til alle på email listen.

Din forslag virker: $message.=$row2["afsnitTitel"]; - er fint, når mail(...) sættes uden for while løkken med afsnittene (så $message kun får fat i den sidste række af dem, der genereres inden for løkken), men inden i en while løkken med emails.

Points!?
Avatar billede zac Nybegynder
25. november 2005 - 23:07 #3
Og tak!
Avatar billede johan.o Nybegynder
25. november 2005 - 23:36 #4
Øhm, jeg er ikke helt med.

'(så $message kun får fat i den sidste række af dem, der genereres inden for løkken),'

$message skulle gerne indeholde alle de $row2["afsnitTitel"] som findes i while løkken da der er et . efter variablen, så ligger den jo det på højre side af = til, istedet for at erstatte.

Hvis du lige før mail() prøver at skrive echo $message; die; skulle det gerne være en lang tekststreng med 'afsnitTitel'er. Jeg ved ikke hvordan du vil 'formattere' den streng men hvis du f.eks. vil have et , imellem alle værdierne kunne du skrive :

$message.=$row2['afsnitTitel'].",";

Er det hvad du leder efter ?

Mvh. Johan
Avatar billede zac Nybegynder
26. november 2005 - 01:00 #5
Med '(så $message kun får fat i den sidste række af dem, der genereres inden for løkken),' mente jeg, at
$result2 = mysql_query( "SELECT afsnitTitel FROM afsnit (nyere end dato....)");
while ($row2 = mysql_fetch_array($result2)) {
$message.=$row2["afsnitTitel"]; } kun virker som tilsigtet, når
mail($to, $subject, $message, $headers) kommer derefter (uden for while).

Hvis mail(...) sættes inden for den while, kommer strengen med alle afsnits titler til sidst, og før kommer 1. afsnits titel, 1. og 2. afsnits titel, 1, 2. og 3., osv. til de alle kommer.

Det store problem nu er, som du nævner, formatteringen. Jeg ville gerne have den her!:

$indhold = "<div class=\"nitifont\">\"" . $afsTekst1 . "....\"</div><div class=\"sekstifont\">(Afsnittet <b>[<a href='artikel_oversigt.php?kapitelId=$kId&artikelId=$aId&afsnitId=$fId'>" . $afsTitel . "</a>]</b> i artiklen <b>[<a href='artikel_vis.php?kapitelId=$kId&artikelId=$aId'>" . $artTitel . "</a>]</b> i kapitlet <b>[<a href='artikel_oversigt.php?kapitelId=$kId'>" . $kapTitel . "</a>]</b>, lagt på " . $afsModified . ")</div>";

$message .= $indhold;

Men hvordan får jeg det til ikke bare at være en lang tekststreng, som viser alle tags mv., men i stedet kun retter sig efter disse tags?
Avatar billede johan.o Nybegynder
26. november 2005 - 08:28 #6
Hvis jeg forstår dig korrekt så vil du gerne vide hvordan du 'aktiverer' indholdet i en mail, således at det parses som en HTML side....det ved jeg desværrer ikke noget om.

Mvh. Johan
Avatar billede zac Nybegynder
27. november 2005 - 00:34 #7
Jeg har for et par år siden lavet noget i den retning - er jeg kommet i tanker om! Kan se, jeg dengang brugte mime_mail, og phpmailer, en klasse, som i hvert fald kan bruges til at sende filer som attachment med - vil se på det igen, håber den også kan lave pæn html!
Avatar billede johan.o Nybegynder
27. november 2005 - 23:35 #8
Skal jeg ligge et svar :), eller vil du vente og se om nogen kan hjælpe med mail indholdet ?

Mvh. Johan
Avatar billede zac Nybegynder
27. november 2005 - 23:40 #9
Jeg har lavet nyt spm. mht. de videre finesser ved brug af PHPMailer, jf. http://www.eksperten.dk/spm/667917
Men jeg er da kommet længere siden sidst :-)
Avatar billede johan.o Nybegynder
27. november 2005 - 23:48 #10
Tak for points :), kiggede lige i dit andet spm. det ser vældig fancy ud :) måske man skulle kigge lidt på klasser i PHP :)

Mvh. Johan
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester