我有一个包含两个不同链接的页面:Active和InActive员工(如下所示)。单击第一个链接以查看活动员工,单击第二个链接以查看活动员工。
我想在这些链接的URL中添加一个参数。我想通过活跃员工的链接发送“活动”,并通过非活动员工的链接发送“活跃”。之后,如果URL参数处于活动状态,我想只查询那些处于活动状态或非活动状态的人来查询非活动员工。在这里,我为员工创建了两个页面:
<li><a href="ActiveEmployee.cfm">Active Employee</a></li>
<li><a href="InActiveEmployee.cfm">InActive Employee</a></li>
这是我的疑问:
Select FirstName, LastName, Age, Active
From Employees
Where Active Like '%Active%'
我不确定这是否可以这样做。我仍然没有让我的代码正常工作。提前谢谢。
答案 0 :(得分:5)
正如乔尔所指出的,你应该有一页。您的链接看起来像
<a href="Employee.cfm?isActive=1">Active Employee</a>
<a href="Employee.cfm?isActive=0">InActive Employee</a>
在Employee.cfm的顶部,您可能希望默认此参数
<cfparam name="url.isActive" type="numeric" default="1">
您还应该在查询中使用cfqueryparam
<cfquery name="myQuery" datasource="#myDSN#">
SELECT FirstName, LastName, Age, Active
FROM Employees
WHERE Active = <cfqueryparam cfsqltype="cf_sql_integer" value="#url.isActive#">
</cfquery>
答案 1 :(得分:0)
首先,您可以在同一页面上执行此操作。
您希望网址类似于Employees.cfm?status=Active
或status=Inactive
然后查询:
<cfif isDefined("URL.status")>
<cfquery name="poo" datasource="whatever">
SELECT Employee
FROM EmployeeTable
WHERE Active LIKE '#URL.status#'
</cfquery>
</cfif>
当您从网址或表单中获取变量时,您可能还想使用cfqueryparam。它有助于防止SQL注入。
如果您不想改变您的方式(尽管您可以而且应该),您可以转储CGI范围以获取查询字符串或模板路径,并编写条件查询那个。 (如果模板路径包含inactiveemployee.cfm,请执行此查询。)