Autor Zpráva
Janák
Profil *
Zdravím,
řeším následující problém. Potřebuji posílat v cyklu SQL while více řáků. Používám knihovnu PHPMailer. Problém nastává v tom, že mi skript nepošle žádné řádky.

PHP je následující:

require_once 'phpmail/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SetLanguage("cz");
$mail->setFrom('nejaky@email.cz', 'Nejaky predmet');
$mail->addAddress("cilovy@email.cz");
$mail->Subject = "Test";
$mail->msgHTML('
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            <head>
            <meta http-equiv="content-type" content="text/html; charset=UTF-8">
            <title>Test</title>
            </head>
            <body>');           
             $sql = DB::query("SELECT *  FROM test");
             while ($item = DB::row($sql)){
             $mail->msgHTML('<p>' . $item['text'] . '</p>');
             // Zde se neposlou radky
}
$mail->msgHTML('</body></html>');
$mail->CharSet = "utf-8";
$mail->send(); 

Nevite, jak z toho ven?


Tak vyřešeno,
pokud by někdo hledal něco podobného tak zde je odpověď http://stackoverflow.com/questions/21922164/run-foreach-loop-inside-a-msghtml-in-phpmailer
Petr Ká
Profil
Ahoj

EDIT: Abych ti to objasnil: Použitím opakovanym voláním $mail->msgHTML() si to přepisuješ...


require_once 'phpmail/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SetLanguage("cz");
$mail->setFrom('nejaky@email.cz', 'Nejaky predmet');
$mail->addAddress("cilovy@email.cz");
$mail->Subject = "Test";
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            <head>
            <meta http-equiv="content-type" content="text/html; charset=UTF-8">
            <title>Test</title>
            </head>
            <body>';           
             $sql = DB::query("SELECT *  FROM test");
             while ($item = DB::row($sql)){
             $message .= '<p>' . $item['text'] . '</p>';
             // Zde se neposlou radky
}
$mail->msgHTML($message.='</body></html>');
$mail->CharSet = "utf-8";
$mail->send(); 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: