我需要在电子邮件中发送表格选择摘要。
/*
Table name: comments
username comment language date
--------------------------------------------------------
Daniel I am Daniel. en 2019-05-01
Michael I am Michael! de 2019-05-04
Sean I am Sean en 2019-05-06
Sarah I am Sarah. it 2019-06-12
...and so on...
*/
这些基本上是来自对话的评论。我想只选择带有language = en的那些并在变量中汇总它们。
//db connection:
$conn = mysqli_connect("dbserver", "dbusername", "dbpassword", "dbname") or die("Connection failed: " . mysqli_connect_error());
$conn->query("SET NAMES 'utf8'");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//selecting:
$sql = "SELECT * FROM comments WHERE language='en' ORDER BY date ASC";
$rs_result = mysqli_query($conn, $sql);
如何从这里获取电子邮件内容的以下变量?
$email_content = '
<b>Daniel</b> 2019-05-01<br>
I am Daniel.
<br><br>
<b>Sean</b> 2019-05-06<br>
I am Sean
';
...应该在这样的html电子邮件中查找:
丹尼尔2019-05-01 我是丹尼尔。
肖恩2019-05-06 我是肖恩
我知道如何进行电子邮件传输,所以我只需要变量,填充选择结果并用html格式化。
尝试此解决方案
$email_content = '';
while($row = mysqli_query($conn, $sql))
{
$email_content .= '<b>'.$row['username'].'</b> '.$row['date'].'<br> '.$row['comment'].'<br><br>';
}
试试这个:
while ($row = mysqli_fetch_assoc($rs_result))
{
$email_content .= '<b>'.$row['username'].'</b>'.$row['date'].'<br>'.$row['comment'].'<br><br>';
}
遍历结果并分配变量。
$email_content = "";
while($row = mysqli_fetch_assoc($rs_result)) {
$email_content .= '
<b>'.$row['username'].'</b>'.$row['date'].'<br>'.
$row['comment'].'
<br><br>';
}
这应该工作,我没有做你提供的确切HTML
$email_content = "";
while ($row = $rs_result->fetch_assoc()) {
$email_content .= "<p>";
$email_content .= "<b>" . htmlspecialchars($row['username']) ."</b>";
$email_content .= "<span>" . htmlspecialchars($row['date']) ."</span>";
$email_content .= "<p>" . htmlspecialchars($row['comment']) ."</p>";
$email_content .= "</p>\n";
}
我使用htmlspecialchars来防止HTML注入