在变量值中附加while循环

时间:2013-02-07 09:53:32

标签: php

我需要在每次注册后发送自动邮件,并在消息变量中,我需要运行所有注册的产品的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.'&amp;org_id='.$org_id.'&amp;c_id='.$get_pubc_c_id.'" target="_blank">Print Invoice</a> <a href="pubc_invoice_pdf.php?bk_id='.$get_pubc_bk_id.'&amp;org_id='.$org_id.'&amp;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循环会在那里遇到语法错误。所以我对如何完成这件事感到茫然。

希望对此有所帮助......谢谢!

2 个答案:

答案 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的答案基本上是正确的;你想把你的信息分成不同的部分,邮件标题,可变部分和页脚部分;然后有一些代码来控制这些部分的插入。

要改进,您可以在文件系统或数据库中包含这些部分,这意味着当您想要调整消息时,无需修改代码。