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

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

2012-12-30 
只能在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> 

热点排行