0

我正在尝试在付款完成后通过电子邮件发送购物车中的详细信息。我有一个成功显示此信息的确认页面,但是在尝试发送电子邮件时,我无法获取要传递的项目详细信息。

我不确定这是否与电子邮件代码中的 while 循环有关。

我的包含项目信息的电子邮件示例是:

$email_message .= "<p class='regular'>Your ordered:</p>
                                            <p>&nbsp;</p>
                                            <table class='orderTable'>
                                                <tr>
                                                    <th class='prodNumber'>Product Description</th>
                                                    <th class='qty'>Qty</th>
                                                    <th class='subTotal'>Sub Total</th>
                                                </tr>";
                                                while($row3 = mysqli_fetch_array($orderDetailInfo)){
                        $email_message .= "     <tr>
                                                        <td class='prodNumber'>".$row3['productID']."</td>
                                                        <td class='qty'>".$row3['quantity']."</td>
                                                        <td class='subTotal'>".$row3['total']."</td>

                                                    </tr>";
                                                }
                        $email_message .= " <tr>
                                                    <th class='prodNumber'>Delivery</th>
                                                    <th class='qty'>Tax</th>
                                                    <th class='subTotal'>Total Amount</th>
                                                </tr>
                                                <tr>
                                                    <td class='prodNumber'>".$row['delivery']."</td>
                                                    <td class='qty'>".$row['salesTax']."</td>
                                                    <td class='subTotal'>".$row['totalPrice']."</td>
                                                </tr>
                                            </table>

在此代码上方使用 SQL 来检索确认页面的数据。我只是想再次重新循环以填充电子邮件。电子邮件确实与所有其他内容一起发送,而不是产品数据。有人能看出上面的代码有什么问题吗?

4

2 回答 2

2

如果您要重新循环,则$orderDetailInfo需要重置它的指针。通过阅读您的帖子,您已经循环了一次,因此您位于结果集的末尾,请检查如何将 mysql 指针重置回 PHP 中的第一行?.

在您的情况下,它将是mysqli_data_seek

基本上,在你while做之前$orderDetailInfo->data_seek(0);或者如果失败了,这个mysqli_data_seek($orderDetailInfo, 0);.

于 2013-06-20T13:07:27.687 回答
1

您正在 while 循环清除 $row 变量。在 while 循环中重命名 $row。

于 2013-06-20T12:22:29.650 回答