如何遍历 SQL 查询并基于其输出单个电子邮件



我正在尝试从查询中循环信息并在电子邮件中发送该信息。目前,根据我的存储过程,我正在显示电子邮件中的所有行。

这是我用来获取上述信息的方法:

<table>
<thead>
<tr>
<th scope="col" id="left">Admin Name</th>
<th scope="col" id="middle">Department Name</th>
<th scope="col" id="right">Last Logon</th>
</tr>
</thead>
<tbody>
<cfloop query="#inactiveAdmins#">                
<tr>
<td class="text-left">#Admin_Name#</td>
<td class="text-left">#Dept_Name#</td>
<td class="">#(Len(Last_Logon) ? dateFormat(Last_Logon, 'mmm dd, yyyy') : 'Never Logged On')#</td>
</tr>
</cfloop>
</tbody>
</table>

这将显示所有管理员名称、所有部门名称和所有最后登录

我需要能够遍历每个部门并单独向每个部门发送电子邮件。

循环遍历每个部门,这就是我正在尝试的,但它没有返回任何结果。我的问题是:

语法正确吗?

<cfloop query="#ALEmail#">
<cfquery dbtype="query" name="inactiveSW">
SELECT Dept_ID
FROM inactiveSW
WHERE Dept_ID = <cfqueryparam cfsqltype="cf_sql_char" value="#ALEmail.Dept_ID#">
</cfquery>
</cfloop>

这与其说是答案,不如说是评论,但它很长

应该是

关于这一部分

<cfquery dbtype="query" name="inactiveSW">
SELECT Dept_ID
FROM inactiveSW
WHERE Dept_ID = <cfqueryparam cfsqltype="cf_sql_char" value="#ALEmail.Dept_ID#">
</cfquery>

因为FROMname=相同,所以它就像有语法错误或覆盖现有变量一样。

此外,您只是选择一个已经存在的变量。这不会获得任何新信息。您是否正在尝试测试dept_id是否存在?


最后,如果您尝试根据查询发送电子邮件,那真的很简单

<cfmail
query="ALEmail"
from="#from#"
to="#to#"
subject="#subject#">

Content here

</cfmail>

相关内容

  • 没有找到相关文章

最新更新