当SQL值为True时发送邮件

时间:2017-01-17 09:09:59

标签: php mysql email

所以,由于这个问题,我现在已经有一天了。我有一个PHP,它由Cron在设定的数量上调用。除了样式之外,它被调用并执行得很好而没有太多问题。它的作用是在设定的时间内查询数据库中的值,如果它是真的,那么它会将电子邮件发送到我放入脚本的指定电子邮件中。它正在做它的工作,但问题是电子邮件发送时的格式。当我打开它时,电子邮件看起来像这样:

Email format image

正如您所看到的那样,问题是只有第一行或第一行在表格中格式化,其余结果不会跟随它。

这是我使用的当前脚本中的一些省略/更改的详细信息。

Current Directory

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

您正在关闭循环内的表格,因此在第一次输入后关闭它。从这个改变您的代码:

while($row=$result->fetch_assoc()) {
  $message .= "<tr><td>".$row['uid']."</td>";
  $message .= "<td>".$row['name']."</td>";
  $message .= "<td>".$row['umail']."</td>";
  $message .= "<td>".$row['pid']."</td>";
  $message .= "<td>".$row['pdesc']."</td></tr>";
  $message .= "</table>";
  $message .= "</body></html>";
}

到此:

while($row=$result->fetch_assoc()) {
  $message .= "<tr><td>".$row['uid']."</td>";
  $message .= "<td>".$row['name']."</td>";
  $message .= "<td>".$row['umail']."</td>";
  $message .= "<td>".$row['pid']."</td>";
  $message .= "<td>".$row['pdesc']."</td></tr>";
}
$message .= "</table>";
$message .= "</body></html>";

在最后关闭桌子。