我正在尝试从查询中循环信息并在电子邮件中发送该信息。目前,根据我的存储过程,我正在显示电子邮件中的所有行。
这是我用来获取上述信息的方法:
<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>
因为FROM
与name=
相同,所以它就像有语法错误或覆盖现有变量一样。
此外,您只是选择一个已经存在的变量。这不会获得任何新信息。您是否正在尝试测试dept_id是否存在?
最后,如果您尝试根据查询发送电子邮件,那真的很简单
<cfmail
query="ALEmail"
from="#from#"
to="#to#"
subject="#subject#">
Content here
</cfmail>