首页 > 解决方案 > 通过电子邮件发送 HTML 表中的 PHP MySQL 查询结果

问题描述

有人可以帮我解决这个问题。我已经在 php 中构建了脚本以通过电子邮件导出 mysql 搜索查询。一切工作正常,除了数据被导出并且看起来像字符串,是否可以有相同的数据,但在基本的 html 表中,所以看起来更好?请参阅附加的图像接收电子邮件时它是如何工作的。先感谢您:

while ($row = mysql_fetch_object($query)) { 
$string .= ""."Product Name: ".$row->product_name."".""."Product Code: ".$row->product_code."".""."Product Color: ".$row->product_color_name."".""."Product Package/Size: ".$row->package_name."";
}



//email parameters

$to  = 'email' . ', '; // note the comma
$to .= '';

$subject = "Low Stock $date_o - $date_a";

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Low Stock Notification' . "\r\n";

$message = "$e_message

Dear Admin,<br><br>

Stock of some or one product(s) is low, see the detail below: <br><br>

$string
$footer";

mail($to,$subject,$message,$headers);


?> 

实际出口看起来像收到时

在此处输入图像描述

标签: phpmysqlhtml-tablenotificationshtml-email

解决方案


尝试这个:

$string = "<table>";
while ($row = mysql_fetch_object($query)) { 
    $string .= "<tr>";
    foreach($row as $key => $value) {
        $string .= "<td>$key: $value</td>";
    }
    $string .= "</tr>";
}
$string .= "</table>";

它循环遍历您的 sql 结果,为每个找到的数据库行创建一个表行,并为每个 sql col 创建一个表 col(显示字段名称和值)。


推荐阅读