我需要在每次注册后发送自动邮件,并在消息变量中,我需要运行所有注册的产品的while循环。
以下是代码:
<?php
$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Course booking mail</title>
<style type="text/css">.course_list_tbl {border:1px solid #BAC2CC;}</style></head>
<body marginheight="0" topmargin="0" marginwidth="0" leftmargin="0" style="margin: 0px; background-color: #eee; background-repeat: repeat; color:#56667d; font-size:14px;">
<table cellspacing="0" border="0" cellpadding="0" width="100%"><tr><td>
<table width="650" cellspacing="0" cellpadding="0" border="0" align="center" style="border-width: 3px; border-color: #ffffff; border-style: solid;">
<tr><td style="background:#F3F3F3; border-bottom:1px solid #BAC2CC;">
<table width="650" border="0"><tr><td>
<img src="http://www.og-softskills.com/gcom/images/ogs_mail.png" style="margin:0; margin-left:10px; margin-top: 4px; display: block;" alt="" />
</td>
<td style="color:#2a186e;"><h2>Altous Solutions</h2></td>
</tr></table></td></tr>
<tr>
<td style="background:#c8cfd8; color:#2a186e;" valign="middle"><h3 style="text-shadow: #ffffff 0px 1px 0px; margin-left:10px;">Your Order Information</h3></td>
</tr>
<tr><td style="padding:5px 10px;">
<p>
Course Booking Successfully Completed! You have successfully registered 3 candidate for 2 Open Courses and also booked for 1 In-house Course. Thank You!
</p>
</td></tr><tr><td>
<h4 style="margin-left:25px; margin-bottom:0px;">Open Course</h4>
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center" class="course_list_tbl">
<tr>
<th scope="col" class="course_list_tbl" width="5%">s/n</th>
<th scope="col" class="course_list_tbl">Course</th>
<th scope="col" class="course_list_tbl">Actions</th>
</tr>';
$message .= if($pubc_row_count > 0){
$pub_sn = 1;
while($get_pubc_bookings_info_row = @mysql_fetch_assoc($get_pubc_bookings_info_query)){
$org_id = user_info('id');
$get_pubc_bk_id = $get_pubc_bookings_info_row['booking_id'];
$get_pubc_c_id = $get_pubc_bookings_info_row['course_id'];
$get_pubc_c_title = $get_pubc_bookings_info_row['title'];
echo '<tr><td>'.$pub_sn.'</td> <td>'.$get_pubc_c_title.'</td><td class="bk_action_lnk"><a href="pubc_reg_invoice.php?bk_id='.$get_pubc_bk_id.'&org_id='.$org_id.'&c_id='.$get_pubc_c_id.'" target="_blank">Print Invoice</a> <a href="pubc_invoice_pdf.php?bk_id='.$get_pubc_bk_id.'&org_id='.$org_id.'&c_id='.$get_pubc_c_id.'" target="_blank">Invoice in PDF</a> <div class="clear"></div></td></tr>';
++$pub_sn;
}
};
$message .= '</table></td>/tr>
<tr>
<td style="padding:5px 10px;">
<p>
For further enquiries, contact us via: <br /> 909-804-6416, 555-330-4541 <br /> Email: training@altous.com
</p>
</td></tr>
<tr>
<td align="center" style="border-top:2px solid #BAC2CC; border-bottom:2px solid #BAC2CC;">
<p style="font-size:12px;"><strong style="font-weight:bold;">Altous Solution</strong> <br>
5th Floor, Pole Plaza.</p>
</td>
</tr></table></td></tr></table></body></html>';
?>
这是非常肯定的,这将不会附加if语句并且变量“message”中的while循环会在那里遇到语法错误。所以我对如何完成这件事感到茫然。
希望对此有所帮助......谢谢!
答案 0 :(得分:1)
<?php
$message = 'part of string';
if(some condition){
$message .= 'Other part of string';
}
while(some condition){
$message .= $var.'Other part of string';
}
echo $message; // will give you ful string
?>
答案 1 :(得分:0)
Prasanth Bendra的答案基本上是正确的;你想把你的信息分成不同的部分,邮件标题,可变部分和页脚部分;然后有一些代码来控制这些部分的插入。
要改进,您可以在文件系统或数据库中包含这些部分,这意味着当您想要调整消息时,无需修改代码。