Выпадающий список запросов ColdFusion - PullRequest
2 голосов
/ 07 декабря 2011

Можно ли заполнить выпадающий список результатами запроса?Например, с таким выводом: 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 ]

2 голосов
/ 08 декабря 2011

Ответ - да. Этот код сделает именно это.

Не работает? У вас есть проблемы или ..? Мне кажется странным, что вы не просто опробовали это, потому что у вас уже есть код, чтобы делать то, что вы хотите.

1 голос
/ 22 июня 2012

Вы можете сделать это с помощью 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>
1 голос
/ 07 декабря 2011

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>
...