Php MySQL 查询结果 HTML Table 通过邮件发送
Php MySQL Query reult in HTML Table send via email
有人可以帮我解决这个问题吗?我在 php 中构建脚本以通过电子邮件导出 mysql 搜索查询。一切正常,除了数据被导出并且看起来像字符串,是否可以有相同的数据但在基本 html table 中看起来更好?请查看附上的图像,它在接收电子邮件时是如何工作的。提前致谢:
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);
?>
收到时实际导出的样子
您必须根据 html table 或您想要的 html 代码在循环中格式化 $string
变量。因为您的变量是纯字符串,所以它在电子邮件中也是纯字符串。
尝试格式化 $string
变量。
$string .= "<tr><td>"."Product Name: ".$row->product_name."</td></tr>"."<tr><td>"."Product Code: ".$row->product_code."</td></tr>"."<tr><td>"."Product Color: ".$row->product_color_name."</td></tr>"."<tr><td>"."Product Package/Size: ".$row->package_name."</td></tr>";
同时编辑 $message
变量
$message = "$e_message
Dear Admin,<br><br>
Stock of some or one product(s) is low, see the detail below: <br><br>
<table>
$string
</table>
$footer";
试试上面的代码。
试试这个:
$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 结果,为每个找到的数据库行创建一个 table 行,并为每个 sql 列创建一个 table 列(显示字段名称和价值)。
有人可以帮我解决这个问题吗?我在 php 中构建脚本以通过电子邮件导出 mysql 搜索查询。一切正常,除了数据被导出并且看起来像字符串,是否可以有相同的数据但在基本 html table 中看起来更好?请查看附上的图像,它在接收电子邮件时是如何工作的。提前致谢:
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);
?>
收到时实际导出的样子
您必须根据 html table 或您想要的 html 代码在循环中格式化 $string
变量。因为您的变量是纯字符串,所以它在电子邮件中也是纯字符串。
尝试格式化 $string
变量。
$string .= "<tr><td>"."Product Name: ".$row->product_name."</td></tr>"."<tr><td>"."Product Code: ".$row->product_code."</td></tr>"."<tr><td>"."Product Color: ".$row->product_color_name."</td></tr>"."<tr><td>"."Product Package/Size: ".$row->package_name."</td></tr>";
同时编辑 $message
变量
$message = "$e_message
Dear Admin,<br><br>
Stock of some or one product(s) is low, see the detail below: <br><br>
<table>
$string
</table>
$footer";
试试上面的代码。
试试这个:
$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 结果,为每个找到的数据库行创建一个 table 行,并为每个 sql 列创建一个 table 列(显示字段名称和价值)。