0

我想在邮件中发送一个包含 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>';
?>

我总是有一个解析错误警报,所以我想这不是正确的方法。你有什么主意吗?谢谢你的帮助。

4

2 回答 2

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';
于 2013-05-12T18:10:33.107 回答
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>';
于 2013-05-12T18:11:23.323 回答