我想在邮件中发送一个填充了php查询的项目列表...但是我没有看到如何设置我的语法以使其正常工作...
<php
$message = '
<html>
<head>
<title>Confirmation de demande de devis | Recapitulatif de la demande</title>
</head>
<body>
<p>Hi '.$gender.' '.name.' blablabla</p>
<ul>
'.$req=$bdd->query("SELECT * FROM items WHERE id_order = $_POST['id-order']");
while ($data = $req->fetch())
{.'
<li>'.echo $data['item-name'].'</li>
.'}
$req->closeCursor();
.'</ul>
</body>
</html>';
?>
我总是有一个解析错误警告,所以我想这不是正确的方法。 你有什么主意吗? 谢谢你的帮助。
答案 0 :(得分:0)
'foo'. (SOME PHP CODE) .'bar'
不起作用。您需要将您想要做的事情与字符串分开。
$message = '<html><head>etc..';
$req = $bdd->query("SELECT * FROM items WHERE id_order = ".intval($_POST['id-order']));
// added intval against sql injections
while ($data = $req->fetch())
{
$message .= '<li>'.$data['item-name'].'</li>';
}
$message .= 'rest';
答案 1 :(得分:0)
尝试将代码移出变量,如下所示:
$inline = '';
$req=$bdd->query("SELECT * FROM items WHERE id_order = $_POST['id-order']");
while ($data = $req->fetch()) {
$inline .= '<li>'.$data['item-name'].'</li>';
}
$req->closeCursor();
$message = '
<html>
<head>
<title>Confirmation de demande de devis | Recapitulatif de la demande</title>
</head>
<body>
<p>Hi '.$gender.' '.name.' blablabla</p>
<ul>'.$inline.'</ul>
</body>
</html>';