我在这里很丢失。
我需要知道是否有办法发送包含循环生成的HTML内容的PHP电子邮件(我认为是mySQL循环)
我现在没有任何代码,因为我仍在寻找实现此目的的方法。
简而言之,我需要通过PHP代码发送HTML电子邮件。
此HTML邮件将包含一些静态内容。
其他一些内容将取自mySQL。
问题是我有一些桌子可能需要复制每个我必须发送的内容。
我会解释。
我的用户可以提交表单。
此表单提供1位或更多作者的详细信息。
当他们提交表格时,所有细节都会转到数据库。
如果他们输入更多作者的详细信息,每个作者都将拥有自己的数据库表。
现在,当有更多作者发送HTML电子邮件时,包括他们输入信息的每个作者的所有信息。
由于HTML邮件是由简单的HTML表格制作的,因此这是HTML邮件必须采用的结构。
1° Table for 1° Author
2° Table for 2° Author
3° Table for 3° Author
等。
现在我的问题很简单。这可以通过简单地使用mySQL循环来实现吗?
如果是,如何?
你能提供一个非常基本的样本让我明白吗?
或者我应该使用其他东西吗?
谢谢
答案 0 :(得分:0)
是的,你可以通过邮件发送html内容。 phpmailer 它包含邮件代码,可配置。 构建html内容并将其传递给body。 有用。 这是phpmailer的一些教程 http://www.ineedtutorials.com/code/php/sending-emails-with-php-php-tutorial http://www.learnphp-tutorial.com/Email.cfm
答案 1 :(得分:0)
我认为您应该考虑使用不同的数据库布局,这也可以解决这个问题: 而不是每个作者一个表(你永远不应该这样做)在桌子上创建所有作者和一个“内容表”,它们存储与当前“auther-tables”基本相同的信息,但是每一行都与外国人相关联作者表中作者的关键。然后,您可以使用简单连接选择SELECT,ORDER和GROUP BY作者,并通过一个查询轻松获取所有数据。 通过该查询的结果,您可以轻松地在PHP中创建HTML表:
如果执行以下查询
SELECT a.author_name AS name, c.content_title AS title
FROM content c JOIN author a ON a.author_id=c.author_id
ORDER BY a.author_name
你可以在PHP中做类似的事情:
if(count($result) > 0)
{
$currentName = $result[0]['name'];
$tables = "<table><tr><th>" . $currentName . "</th></tr>";
foreach($result as $row)
{
if($currentName != $row['name'])
{
$currentName = $row['name'];
$table .= "</table><table><tr><th>" . $currentName . "</th></tr>";
}
$table .= "<tr><td>" . $row['title'] . "</td></tr>";
}
$table .= "</table>";
}