我正在尝试使用 Sendgrid 发送一封电子邮件,其中显示了来自数据库的信息。我的代码:$email->addContent( "text/html", "<?php foreach ($dueinsevendays as $dueinsevenday) :$sevendaycomref = $dueinsevenday['ceref'];$sevendaytitle = $dueinsevenday['cetitle'];$sevendaydate = $dueinsevenday['targetresponse'];$sevendaystage = $dueinsevenday['cestage'];?><tr> <td style='border: 1px solid black;'>$sevendaycomref</td> <td style='border: 1px solid black;'>$sevendaytitle</td> <td style='border: 1px solid black;'>$sevendaydate</td> <td style='border: 1px solid black;'>$sevendaystage</td> </tr><?php endforeach; ?>")我在将查询结果分配给变量时遇到错误,例如它说“$dueinsevenday['ceref'];”,第一个 [ 显示为错误(语法错误,意外的引用字符串和空格)。我需要为查询返回的数据库中的每条记录创建一个表行,如果我在此 php 代码之外分配变量,则没有错误但循环不起作用,此代码将只显示一个表行所有例如:$sevendaycomref = $dueinsevenday['ceref'];$sevendaytitle = $dueinsevenday['cetitle'];$sevendaydate = $dueinsevenday['targetresponse'];$sevendaystage = $dueinsevenday['cestage'];$email->addContent( "text/html", "<?php foreach ($dueinsevendays as $dueinsevenday) :?><tr> <td style='border: 1px solid black;'>$sevendaycomref</td> <td style='border: 1px solid black;'>$sevendaytitle</td> <td style='border: 1px solid black;'>$sevendaydate</td> <td style='border: 1px solid black;'>$sevendaystage</td> </tr><?php endforeach; ?>")任何关于如何修复错误或重新排列代码的想法都将受到高度赞赏。
1 回答
www说
TA贡献1775条经验 获得超8个赞
您似乎将 PHP 代码放在一个字符串变量中,并希望它作为代码执行。不会,它将被视为电子邮件的预期内容。您需要先处理数据,将必要的 HTML 添加到字符串变量中,然后将该字符串(即代码的结果,而不是代码本身)添加到电子邮件中。
像这样尝试:
$html = "";
foreach ($dueinsevendays as $dueinsevenday)
{
$html .= "<tr>
<td style='border: 1px solid black;'>$sevendaycomref</td>
<td style='border: 1px solid black;'>$dueinsevenday['cetitle']</td>
<td style='border: 1px solid black;'>$dueinsevenday['targetresponse']</td>
<td style='border: 1px solid black;'>$dueinsevenday['cestage']</td>
</tr>";
}
$email->addContent("text/html", $html);
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消