我在动作完成后使用phpmailer发送电子邮件。现在这是我的phpmailer代码的最后一部分
$mail->Subject = 'Nuovo Ordine';
$mail->Body = $ordine_iniz.$ordine_cent.$ordine_fine;
$mail->AltBody = '';
这是我想在正文中插入的变量
$ordine_iniz='
Nuovo Ordine Spiaggia dal Sig./Sig.ra '.$nome.' '.$cognome.'<br />
<table style="text-align:center;" cellpadding="5">
<thead style="background-color:#EBE9E9">
<tr>
<th scope="col">#</th>
<th scope="col">Prodotto</th>
<th scope="col">Quantità</th>
</tr>
</thead>
<tbody style="background-color:F5FFFF">';
$ordine_fine='</tbody></table>';
$i=0;
$query = "SELECT * FROM table";
$result=mysql_query($query);
while($row=mysql_fetch_array($result)){
$ordine_cent='<tr><td>'.$i.'</td><td>'.$row["prodotto"].'</td
<td>'.$row["quantita"].'</td></tr>';
$i++;}
现在的问题是邮件发送有效,但邮件中的表只向我提供了一行,其中包含表'table'的最后结果。我想拥有所有行
我该如何解决?
答案 0 :(得分:2)
而不是
$ordine_cent=
DO
$ordine_cent .=
因为=
会覆盖旧值而不是附加到它。
答案 1 :(得分:2)
你需要追加,你每次都要重新分配$ordine_cent
。在while循环之前,初始化$ordine_cent = ''
或其他东西。之后在while循环中执行此操作:
$ordine_cent .= '<tr><td>'.$i.'</td><td>'.$row["prodotto"].'</td<td>'.$row["quantita"].'</td></tr>';