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

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

热度:4362   发布时间: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> 
  相关解决方案