Запуск цикла через $ сообщение в почте ()

Это вопрос к этому вопросу .

Я собираю простой HTML-адрес электронной почты, подтверждающий заказ в мою базу данных. Поскольку каждый порядок, очевидно, является динамическим, мне нужна часть $ message для выполнения цикла.

Например, я запрашиваю свою базу данных вне сообщения $ и заканчиваю

$emailinfo=mysql_fetch_assoc($result) or die(mysql_error()); 

Я начинаю свое сообщение $ …

 $message = <<<END <html> <head> <title>Whatever</title> </head> <body> <p>{$emailinfo['itemname']}</p> </body> </html> END; 

Вышеуказанное прекрасно, если кто-то заказывал только один элемент, но мне нужно сделать, если кто-то заказывает более одного элемента, перебирает каждый из них и повторяет в $ message. Вне $ message я могу это сделать (что работает)

 do { echo $emailinfo['itemname']; } while ($emailinfo=mysql_fetch_assoc($result)); 

Но когда я обматываю свое сообщение $ в цикле, как было предложено в комментариях к предыдущему вопросу, он все еще только выделяет первую строку / порядок. Например

 do { $message = <<<END <html> <head> <title>Whatever</title> </head> <body> <p>{$emailinfo['itemname']}</p> </body> </html> END; } while ($emailinfo=mysql_fetch_assoc($result)); 

Может кто-нибудь помочь? За пределами $ message цикл, запрос и т. Д. Работают нормально, мне просто нужно, чтобы он работал в $ message. И это только часть заказа, который мне нужно пройти. Мне не нужно перебирать информацию о клиенте, адрес доставки и т. Д., Так как будет только один из них (если это вообще помогает).

Спасибо, как всегда

что происходит здесь, так это то, что вы переписываете переменную $ message с каждой итерацией цикла.

  $message = <<<END <html> <head> <title>Whatever</title> </head> <body> END; do { $message .= <<<END <p>{$emailinfo['itemname']}</p> END; } while ($emailinfo=mysql_fetch_assoc($result)); $message .= <<<END </body> </html> END;