ColdFusion查询下拉列表

时间:2011-12-07 19:31:43

标签: coldfusion

是否可以使用查询结果填充下拉列表?例如,使用此输出:Peps Company - AL即(公司和州)用连字符分隔。

编辑:抱歉遗漏代码。只有一个数据源。

<cfquery name="CompanyInfo" datasource=>
SELECT  company, state
FROM    clients
WHERE   serv_billing = 1 
AND     status = 'Active' 
ORDER BY Company
</cfquery>


<FORM METHOD="POST" ACTION="nextpage.cfm">
    <SELECT name="company">
      <CFOUTPUT QUERY="CompanyInfo">
        <OPTION value="#CompanyInfo.company#">#CompanyInfo.company# - #CompanyInfo.state#</OPTION>
      </CFOUTPUT>
    </SELECT>
    <INPUT TYPE="submit" VALUE="Submit Company">
</FORM>

此代码是否会为我提供所需的下拉列表项格式,即Peps - AL

3 个答案:

答案 0 :(得分:2)

答案是肯定的。这段代码就是这样做的。

不起作用吗?你有问题,还是..?我觉得很奇怪,你不是简单地尝试一下,因为你似乎已经有代码去做你想做的事。

答案 1 :(得分:1)

Seybsen的答案在技术上是正确的,但是,我会强迫您遵循最佳实践并执行单个循环,而不是在主查询的每一行结果上迭代返回数据库:

<CFQUERY name="qCompanies" datasource="yourdsn">
  SELECT companies.id, companies.company, states.state_code
  FROM companies
  INNER JOIN states ON (companies.state_id = states.state_id)
</CFQUERY>

<SELECT name="company">
  <CFOUTPUT QUERY="qCompanies">
    <OPTION value="#qCompanies.id#">#qCompanies.company# - #qCompanies.state_code#</OPTION>
  </CFOUTPUT>
</SELECT>

答案 2 :(得分:1)

您可以使用cfloop这样做:

 <cfquery name="CompanyInfo" datasource="yourdsn">
  SELECT company, state
  FROM clients
  WHERE serv_billing = 1 AND status = 'Active' 
  Order by Company
</cfquery>

<FORM METHOD="POST" ACTION="nextpage.cfm">
  <SELECT name="company">
    <CFLOOP QUERY="CompanyInfo">
       <OPTION value="#CompanyInfo.company#">#CompanyInfo.company# - #CompanyInfo.state#</OPTION>
    </CFLOOP>
 </SELECT>
 <INPUT TYPE="submit" VALUE="Submit Company">
</FORM>