首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

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

2012-02-24 
只能在select 下拉时显示某个查询的第一条记录,怎样才能循环得到其他记录???如下是某些代码:cfquery name

只能在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> 

热点排行