PHP html电子邮件数组显示

时间:2014-01-02 15:57:02

标签: php html html-table html-email

以下代码会在用户提交时生成HTML电子邮件。电子邮件已成功发送,但我遇到的问题是显示包含一个或多个值的数组内容。

最初,用户单击一个或多个复选框以获取容器编号。您将在下面看到containerNumber的变量,该变量位于数组中。用户还手动输入卡车司机电子邮件,该电子邮件也变成了PHP变量。用户名存储在会话中,也会转换为另一个PHP变量。

 <?php
   $containerArray = explode(',', $_POST['containerNumber']);
   $trucker_email = mysql_real_escape_string(stripslashes($_POST['trucker_email']));
   $username = $_SESSION['username'];   

现在我为电子邮件生成变量:

   $to = $trucker_email;
   $subject = 'Container Numbers';
   $headers = "From: " . $username . "\r\n";
   $headers .= "MIME-Version: 1.0\r\n";
   $message = "You have received a message with Containter Numbers:<br />";
   $message .= "Greetings " . stripslashes($_POST['trucker_name']) . "<br />";

现在,这是我努力工作的部分。这是HTML表,它应该在它自己的表格单元格中显示每个容器编号:

   $message .= '<html><body>';
   $message .= '<table rules="all" style="border-color: #62c462" cellpadding="10">';
   $message .= '<tr style="background: #8DBFCF;"><th>Containers</th></tr>';
   $message .= print_r($containerArray, true);  
   $message .= '</table>';
   $message .= '<body></html>';

   @mail($to, $subject, $message, $headers);
 ?>

我发送电子邮件给自己,当我查看它时,数组值显示如下:

ContainersArray ( [0] => CMAU123456 [1] => TRLU1234567 ) 

这不是我希望它显示的方式。我知道我必须使用foreach循环才能使其正常工作,但我不确定如何或从何处开始循环。

请帮忙。

3 个答案:

答案 0 :(得分:5)

替换:

$message .= print_r($containerArray, true);

使用:

foreach($containerArray as $container) {
    $messages .= sprintf('<tr><td>%s</td></tr>', $container);
}

答案 1 :(得分:2)

   $message .= '<html><body>';
   $message .= '<table rules="all" style="border-color: #62c462" cellpadding="10">';
   $message .= '<tr style="background: #8DBFCF;"><th>Containers</th></tr>';
    foreach($ContainersArray as $key=>$val) {
        $message .= '<tr><td>'.$val.'</td></tr>';
    }
   $message .= '</table>';
   $message .= '<body></html>';

输出(网页上的布局显示有一些风格,但我不是在这里复制)。

容器

CMAU123456

TRLU1234567

答案 2 :(得分:0)

试试这个:

 $message .= '<tr style="background: #8DBFCF;"><th>Containers</th></tr>';
 foreach ($containerArray as $key => $value) {
    # code... here action to display each value. exemple:
    $message .= '<tr><td>'.$value.'</td></tr>';
 }
 $message .= '</table>';
 $message .= '<body></html>';