因此,我想通過電子郵件將消息發送給使用phpmailer的用戶。當這是電子郵件時,它需要具有可變數量的行。我在這裏發現了一些代碼,這些代碼指向了正確的方向,但是當我將這些代碼添加到消息中時,會發生一些事情。在phpmailer中使用php創建帶有變量行的html表格
<thead>
<tr>
<th>Item Name</th>
<th>SKU Number</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<?php foreach($stuff as $trow) : ?>
<tr>
<td><?php echo $trow->$name; ?></td>
<td><?php echo $trow->$sku; ?></td>
<td><?php echo $trow->$price; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
首先foreach循環正在關閉在第一行的末尾,至少我是這樣認爲,因爲我的第一個後,沒有其他行。其次,當發送電子郵件時,我收到電子郵件,但分號,問號和右括號與每個單元格中的數據都一樣。我得到的第一行數據是準確的。只是無所事事而已。我是否錯過了這段代碼?我應該發佈我的所有代碼以幫助縮小範圍嗎?我發佈了我的phpmailer代碼。這可能是我試圖調用兩次php?儘管我會認爲這不重要,因爲$消息內容是發送到電子郵件地址的html電子郵件。
to_name="$firstname $lastname";
$to="[email protected]";
$subject="Your store order for: $date";
$headers="MIME-VERSION1.0\r\n";
$headers .="Content-Type: text/html; charset=ISO-8859-1\r\n";
$message="Dear $custfirstname $custlastname, Thank you for choosing this store for your purchase. You purchsed the following items on $date at store $store.<br>";
$message .="<table border=\"1\">
<thead>
<tr>
<th>Item Name</th>
<th>SKU Number</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<?php foreach($stuff as $trow) : ?>
<tr>
<td><?php echo $trow->name; ?></td>
<td><?php echo $trow->sku; ?></td>
<td><?php echo $trow->price; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>";
$message .="Please fill out these surveys below to tell us how your experience was with our company.";
$from_name="from name";
$from = "[email protected]";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host ="mailhost";
$mail->Port =25;
$mail->SMTPAuth = false;
$mail->Username="mailboxsendingmessage";
$mail->Password="passwordforsendingmailbox";
$mail->FromName=$from_name;
$mail->From=$from;
$mail->AddAddress($to, $to_name);
$mail->Subject = $subject;
$mail->isHTML(true);
$mail->Body = $message;
$result = $mail->Send();
echo $result ? 'Sent' : 'Error';
$mailsend = NULL;
$mailsend = $result;
echo "$mailsend";
編輯:添加我的PHP郵件程序代碼。
「<?php var_dump($ stuff)」的輸出是什麼? ?>'?這會告訴你$ stuff變量的結構是否正確,並且有你想要打印的所有行。除此之外,語法對我來說看起來是正確的。 – amklose
我懷疑你在'echo'語句裏面有這樣的代碼,而不是在一段HTML代碼中。 – Barmar
請參閱http://stackoverflow.com/questions/32831134/php-mysql-php-echo-rowvariable/32831570#32831570 – Barmar