3

这是我的查询:

 <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 合并到我当前的查询中。

4

4 回答 4

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')
于 2012-10-25T10:47:00.173 回答
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')
于 2012-10-25T10:51:39.947 回答
1

像您的示例所示,是否有理由在 SQL 中而不是在 HTML 中执行此操作?我曾在“全选”或“请选择”合并到查询中的系统上工作过,缺点是您不能将该查询重新用于其他目的,因为查询现在生成的内容仅在HTML 下拉菜单。在我看来,获取人员列表是一个问题,而与这些人一起构建 UI 和“全选”选项则是另一个问题。

于 2012-10-25T11:03:33.067 回答
1

我不会添加Query选项,我将一个额外的选项行添加到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>
于 2012-10-25T11:45:16.153 回答