Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电子邮件中的while循环(PHP)_Php_Mysql_Email_Shopping Cart - Fatal编程技术网

电子邮件中的while循环(PHP)

电子邮件中的while循环(PHP),php,mysql,email,shopping-cart,Php,Mysql,Email,Shopping Cart,我试图在付款完成后通过电子邮件从购物车发送详细信息。我有一个确认页面,它成功地显示了这些信息,但当我尝试发送电子邮件时,我无法通过邮件传递项目详细信息 我不确定这是否与电子邮件代码中的while循环有关 包含项目信息的我的电子邮件示例如下: $email_message .= "<p class='regular'>Your ordered:</p> <p>&nbs

我试图在付款完成后通过电子邮件从购物车发送详细信息。我有一个确认页面,它成功地显示了这些信息,但当我尝试发送电子邮件时,我无法通过邮件传递项目详细信息

我不确定这是否与电子邮件代码中的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>
$email\u message.=“

您订购的:

产品说明 数量 小计 "; while($row3=mysqli\u fetch\u数组($orderDetailInfo)){ $email_message.=” “$row3['productID']” “$row3[‘数量’]” “$row3[‘总计’]” "; } $email_message.=” 传送 税 总金额 “$row['delivery']” “$row['salesTax']” “$row['totalPrice']”

此代码上方的SQL用于检索确认页面的数据。我只是尝试再次循环以填充电子邮件。电子邮件确实发送了所有其他内容,而不是产品数据。是否有人发现上述代码有任何错误?

当循环清除$row变量时,您正在执行此操作。请重命名while循环中的$row。

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

如果您正在循环
$orderDetailInfo
您需要重置它的指针。通过阅读文章,您已经循环了它一次,因此您处于结果集的末尾,请检查

在你的情况下是这样的


基本上,在您的
while
执行
$orderDetailInfo->data_seek(0);
之前,或者如果失败,则执行此
mysqli_data_seek($orderDetailInfo,0);

如果要重新循环
$orderDetailInfo
您需要重置它的指针。通过阅读文章,您已经循环了一次,因此您处于结果集的末尾,请检查

在你的情况下是这样的



基本上,在您的
while
执行
$orderDetailInfo->data_seek(0);
之前,或者如果失败,则执行此
mysqli_data_seek($orderDetailInfo,0)

在您对其执行所有操作后,通过
echo$email_message;
您得到了什么输出?电子邮件发送时,除了通过while循环从数据库中获取的项目详细信息外,还包含了其中的所有内容……但是,在确认页面上使用了完全相同的过程,并且它在那里工作得非常完美>$orderDetailInfo?您似乎很早就关闭了while循环。@Kevlar好的,但我想知道它是什么——显示创建它的代码在您对它执行所有操作后,
echo$email\u message;
会得到什么输出?电子邮件发送时,除了从带有while循环的数据库…但是,在确认页面上使用了完全相同的过程,它在那里工作得很好什么是
$orderDetailInfo
?似乎您很早就关闭了while循环。@Kevlar好的,但我想知道它是什么--显示创建它的代码您能给我显示
$email\u message
的输出吗能否检查您是否将
$email\u message
放在邮件正文中?感谢您的在线购买,您的订单已发送给我们的销售团队成员进行处理。您的订单号为:10050您的订单:产品描述数量小计发货税总额50.00 14.08 134.48尝试添加:if(!$orderDetailInfo){echo'Error:'.mysqli_Error($con);}可能查询错误?该查询在同一文件中此代码上方用于填充确认页。My bad..检查@Leite的链接->mysqli_数据搜索($orderDetailInfo,0)你能给我看一下
$email\u message
的输出吗?你能检查一下你的邮件正文中是否有
$email\u message
吗?谢谢你的在线购买,你的订单已经发送给我们销售团队的一名成员进行处理。你的订单号是:10050你的订单:产品描述数量小计交货税总额50.00 14.08 134.48尝试添加:如果(!$orderDetailInfo){echo'错误:'.mysqli_错误($con)}可能查询错误?该查询在同一文件中的此代码上方用于填充确认页。我的错误..检查@Leite的链接->mysqli_数据搜索($orderDetailInfo,0)第二次使用时,我已将其从$row2重命名为$ROW3。这没关系,您的结果集位于结果的末尾,因此没有其他内容可获取,您需要使其返回到第一个结果,以便再次使用。谢谢,我尝试了两种选项,但都没有任何区别:(因此,我的while循环的开头现在看起来像这个mysqli_data_seek($orderDetailInfo,0);而($row3=mysqli_fetch_array($orderDetailInfo)){抱歉,它没有