当前位置: 代码迷 >> ColdFusion >> 只能在select 下拉时显示某个查询的第一条记录,怎样才能循环得到其他记录?解决思路
  详细解决方案

只能在select 下拉时显示某个查询的第一条记录,怎样才能循环得到其他记录?解决思路

热度:7113   发布时间:2013-02-26 00:00:00.0
只能在select 下拉时显示某个查询的第一条记录,怎样才能循环得到其他记录???
如下是某些代码:
<cfquery name="db" datasource="##" dbtype="ODBC">
  select * from xk where xkd like '___' order by xkd
</cfquery>

<cfquery name="qyx" datasource="##" dbtype="ODBC">
  select count(*) as yx,left(xkcd,3) as ccc from info where ...... group by left(xkcd,3)
</cfquery>

<cfdump var="#qyx#">------------显示结果为:ccc yx
  a01 1
  a02 2

<select name="cd">
  <cfoutput query="db">
  <option value="#db.xkd#" <cfif left(cd,3) is left(db.xkd,3)selected</cfif>>#mc# <cfif 
  qyx.ccc eq left(db.xkd,3)>(#qyx.yx#)</cfif>
  </option>
  </cfoutput>
</select>

在select下拉时只能显示"qyx"的第一条记录,怎样才能显示其他记录呢???
即显示#mc#(1),后面的#mc#(2)就不能显示了


------解决方案--------------------------------------------------------
记住:在每个调用的数据里,一定要加上来源。如:db.xkd等。不然出现变量冲突的时候,很难debug的。

<select name="cd"> 
<cfoutput query="db">
<cfloop query="qyx">
<option value="#db.xkd#" <cfif left(cd,3) is left(db.xkd,3)selected </cfif>>#mc# <cfif
qyx.ccc eq left(db.xkd,3)>(#qyx.yx#) </cfif> 
</option>
</cfloop>
</cfoutput> 
</select> 
  相关解决方案