Это вопрос к этому вопросу .
Я собираю простой 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;