php - 在通过 phpmailer 发送变量之前等于一个变量的循环
问题描述
我有一个复选框表单,它被发送到 mail.php 以进行邮寄。所选项目应通过邮件发送。我有一个查询来输出选定的项目。在邮件正文中;要回显从数据库中提取的所有选定项目,我需要将 while 循环等同于一个变量。但我无法做到平等。
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
include 'nedmin/netting/database.php';
if (isset($_POST['sendmail'])) {
$city=array_keys($_POST['cities']);
$cities=implode(",",$city);
$query = $db->prepare("SELECT * FROM semt WHERE semt_id IN('".$cities."')");
$query->execute();
while ($statement = $query->fetch(PDO::FETCH_ASSOC)) {
?>
<td><?php echo $statement["city_name"]?></td>
<?php }
$mail = new PHPMailer;
try {
/* SMTP parameters. */
$mail->isSMTP();
$mail->SMTPKeepAlive = TRUE;
$mail->SMTPAuth = TRUE;
$mail->SMTPSecure = 'tls';
...
...
...
$mail->isHTML(TRUE);
$mail->Subject = "Subject";
$mail->Body = "Selected cities: $......";
$mail->send();
}
catch (Exception $e)
{
echo $e->errorMessage();
}
catch (\Exception $e)
{
echo $e->getMessage();
}
}
?>
解决方案
连接到字符串而不是打印输出。
$city_names = "";
while ($statement = $query->fetch(PDO::FETCH_ASSOC) {
$city_names .= "<td>{$statement["city_name"]}</td>\n";
}
然后您可以$city_names
在电子邮件中使用。
推荐阅读
- java - 如何在 Android 中将 PDF 文件转换为 WebP?
- c++ - 如何跨不同视口移植我的应用程序
- vue.js - 出现错误时如何突出显示 vee-validate 表单向导的输入字段?
- python-3.x - Python 写入 csv 文件:io.UnsupportedOperation: not writable
- javascript - Javascript/jQuery 使用随机数组键获取子数组值
- expression - 精确值计数器
- python - 如何以矢量化的方式从 spacy 的管道中获取文本嵌入?
- react-native - 我使用 npx 安装了 react-native。当我运行 npx react-native run-android 时,它给了我以下错误。IT 打开 AVD 但未显示应用程序
- javascript - 单击更改 ID 和类别
- discord.js - 如何为不和谐机器人创建踢命令?