我希望将sql结果包含到变量中,以便发送包含值的html的邮件。 当我测试我的代码时,只包含一行。我怎么都能获得? 我的代码在这里:
<?php
$connect = mysql_connect("*****","********","********");
mysql_select_db("********", $connect);
$req = "SELECT * FROM servers WHERE owner_mail = '******'";
$resultat = mysql_query($req);
echo "<table border='1'>";
echo "<tr><th>Serveur</th><th>Environnement</th><th>Status</th><th>Appli</th></tr>";
while ($ligne = mysql_fetch_row($resultat)) {
$content = "<tr><td>$ligne[1]</td><td>$ligne[3]</td><td>$ligne[4]</td><td>$ligne[19]</td></tr>";
$pseudo = ($ligne[21]);
$commentaire = ($ligne[1]);
$email = ($ligne[23]);
}
echo "</table>";
$headers ='From: "nom"<no-reply@gmail.com>'."\n";
$headers .='Reply-To: ****************'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
?>
<html><head></head><body>
<img src='images/logo.jpg' alt='' /></body></html>
<?php
echo "$commentaire<br>";
echo "$email<br>";
echo "$pseudo<br>";
$message .= "Hello\r\n$pseudo,<br>Here you can find the status migration :<br>\r\n<table border='1'><tr><th>Serveur</th><th>Environnement</th><th>Appli</th><th>Status</th></tr>$content</table><br><br> Thanks !";
$message .= "<img src='**********************' alt='' />";
if(mail($email, 'Status migration', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
感谢帮助
答案 0 :(得分:2)
替换它:
while ($ligne = mysql_fetch_row($resultat)) {
$content = "<tr><td>$ligne[1]</td><td>$ligne[3]</td><td>$ligne[4]</td><td>$ligne[19]</td></tr>";
$pseudo = ($ligne[21]);
$commentaire = ($ligne[1]);
$email = ($ligne[23]);
}
使用:
$content = '';
while ($ligne = mysql_fetch_row($resultat)) {
$content .= "<tr><td>$ligne[1]</td><td>$ligne[3]</td><td>$ligne[4]</td><td>$ligne[19]</td></tr>";
$pseudo = ($ligne[21]);
$commentaire = ($ligne[1]);
$email = ($ligne[23]);
}
在您的代码中,您覆盖了$content
变量。
如果要追加数据,请在循环外实例化变量,并使用.=
运算符追加内容。