【问题标题】:ColdFusion query dropdownlistColdFusion 查询下拉列表
【发布时间】:2012-06-22 08:54:56
【问题描述】:

是否可以使用查询结果填充下拉列表?例如,此输出: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

?

【问题讨论】:

  • 请提供来自您的两个查询的一些示例数据,以及您希望看到的 HTML 标记示例。
  • 同意@Jake Feasel,关于这个问题的更多信息需要在描述中指定,例如下面提到的问题为什么需要将它们分成两个不同的查询(即对两个 DSN 的依赖)
  • 仍然存在为什么需要两个查询的问题。我在上面的代码中没有看到第二个查询。
  • 对不起。原本以为是两个数据源,结果发现只有一个。
  • 在我看来,您说的是“两个查询”,但您的意思是“两列”。对吗?

标签: coldfusion


【解决方案1】:

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

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

【讨论】:

  • 我只是在确定。我还需要一段时间才能对其进行测试。
  • 哇,写代码却不能测试它是相当勇敢的。 :) - 您可以免费下载 ColdFusion 的开发版本并在您的本地主机上运行它。
【解决方案2】:

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>

【讨论】:

    【解决方案3】:

    你可以像这样用 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>
    

    【讨论】:

    • 不,这种情况下你需要cfoutput。否则,您只是用变量名称而不是它们的值填充列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2015-03-02
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多