这是我的疑问:
<cfquery name="qry" datasource="#variables.staffDs#">
SELECT
firstname + ' ' + surname name, userid, mobileno, extension
FROM
currentstaff
WHERE
(mobileno IS NOT NULL OR
Left(LTrim(extension), 2) = '07')
</cfquery>
这是我的ColdFusion下拉框:
<select name="to" id="to">
<option value=""> -- Select -- </option>
<option style="font-weight: bold" value="">Send to All</option>
<cfoutput query="people">
<option value="#qry.userid#">#qry.name#</option>
</cfoutput>
</select>
所有人的姓名都显示在下拉框列表中。
我想要做的是在下拉框顶部添加一个选项“发送给所有用户”以选择所有用户,我不知道该怎么做。
如果有必要,我想将我可能需要的任何额外SQL合并到当前查询中。
答案 0 :(得分:3)
如果可能,您只需要更改,只需添加
即可Select 'Select All'
union
查询,最终代码如
Select 'Select All','','',''
union
SELECT
firstname + ' ' + surname name, userid, mobileno, extension
FROM
currentstaff
WHERE
(mobileno IS NOT NULL OR
Left(LTrim(extension), 2) = '07')
答案 1 :(得分:1)
Select 'Select All', '','',''
union
SELECT
firstname + ' ' + surname name, userid, mobileno, extension
FROM
currentstaff
WHERE
(mobileno IS NOT NULL OR
Left(LTrim(extension), 2) = '07')
答案 2 :(得分:1)
是否有理由在SQL中而不是在HTML中执行此操作,就像您的示例所示?我已经在系统上工作,其中'全选'或'请选择'联合到查询中,缺点是您不能将该查询重新用于其他目的,因为查询现在生成的东西只在HTML下拉列表。 在我看来,获取人员列表是一个问题,并与这些人建立用户界面和“全选”选项是一个不同的问题。
答案 3 :(得分:1)
我不会添加查询选项,我会在HTML中添加一个额外的选项行,当选择SELECT ALL
时,我会将查询更新为不过滤。
<select name="to" id="to">
<option value=""> -- Select -- </option>
<option value="ALL">SELECT ALL</option>
<option style="font-weight: bold" value="">Send to All</option>
<cfoutput query="people">
<option value="#qry.userid#">#qry.name#</option>
</cfoutput>
</select>