在通过 phpmailer 发送变量之前将循环等同于变量
equaling a loop to a variable before sending it via 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
。
$citiesName = [];
while ($statement = $query->fetch(PDO::FETCH_ASSOC)) { ?>
<td><?php echo $statement["city_name"]?></td>
<?php $citiesName[] = $statement["city_name"]?>
<?php }
//code ...
$mail->Body = "Selected cities: " . implode(',', $citiesName);
我有一个复选框表格已发送至 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
。
$citiesName = [];
while ($statement = $query->fetch(PDO::FETCH_ASSOC)) { ?>
<td><?php echo $statement["city_name"]?></td>
<?php $citiesName[] = $statement["city_name"]?>
<?php }
//code ...
$mail->Body = "Selected cities: " . implode(',', $citiesName);