gpt4 book ai didi

php - 如何在 while 循环中通过电子邮件发送 php mysql 查询结果?

转载 作者:行者123 更新时间:2023-11-29 07:06:39 25 4
gpt4 key购买 nike

我创建了一个名为“userhistoryreport.php”的文件。它将设置为每天运行一次。该文件的目的是收集在特定日期与该站点交互的用户的联系信息和历史记录。该脚本有效,但我不确定如何将结果发送到电子邮件。电子邮件的格式应该与浏览器中的页面一样——每个用户都列出了他们的历史记录。感谢您的帮助。

echo '<div style="padding: 0 20px;">';
echo '<span style="display: block; font-size: 22px; font-weight: bold; margin: 25px 0 -15px 0;"> User Activity on' . $website . 'for' . $date . '</span>';


//query the database for today's history
$result = mysql_query("SELECT * FROM user_history WHERE date = '$date' ORDER by name, time, title")
or die(mysql_error());
$old_user = '';

while($row = mysql_fetch_array( $result )) {
$new_user = $row['uid'];
if ($new_user != $old_user) {
echo '<br /><br /><hr />' . '<span style="font-size: 18px; font-weight: bold;">' . $row['name'] . '</span>' . '<br />' . $row['company'] . '<br />' . $row['email'] . '<br />' . $row['phone'] . '<br /><br />';
$old_user = $new_user;
}
echo '<ul><li>' . $row['time'] .
'<ul><li>' . $row['title'] . ' (<a href="' . $row['url'] . '">' . $row['url'] . '</a> )' . '</li></ul>' . '<br /><br />' .
'</li></ul>';
}
echo '</div>';

echo
'<div style="position: fixed; bottom: 0; height: 40px; width: 100%; margin: 20px 0 0 0; background: #000; color: #FFF; line-height: 40px;">' .
'Report generated ' . $date . ' ' . $time .
'</div>';

最佳答案

直接来自 mail() php手册中的函数,试试这个;

将所有的 html 放入一个字符串中,而不是立即回显它,方法是用这样的东西替换所有的回显;

$message .= '<br /><br /><hr />' . '<span style="font-size: 18px; font-weight: bold;">' . $row['name'] . '</span>' . '<br />' . $row['company'] . '<br />' . $row['email'] . '<br />' . $row['phone'] . '<br /><br />';           
$message .= '<ul><li>' . $row['time'] .
'<ul><li>' . $row['title'] . ' (<a href="' . $row['url'] . '">' . $row['url']. '</a> )' . '</li></ul>' . '<br /><br />' .
'</li></ul>';

要显示报告,请使用

echo $message;

要邮寄报告,请将此位放在最后的结束标记之后,以使用 html 发送报告。

 // 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";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";


// Mail it
mail('your@emailadress.com', 'Report generated ' . $date . ' ' . $time, $message, $headers);

关于php - 如何在 while 循环中通过电子邮件发送 php mysql 查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com