3

我正在尝试显示查询的结果,但我很难将查询产生的两个值结合起来......这是我的查询

    <cffunction name="getStudentData"  returntype="query">
    <cfargument name="nameVar" type="string" required="yes">
    <cfargument name="timeframe" type="numeric" required="yes">

    <cfquery datasource="#Application.hds#" name="gsd">
    select (s.lastname + ', ' + s.firstname) as StudData,
    ('[' + r.hallname + ' ' + r.roomnumber + ']')  as roomdata,
     s.studentnumber
    from tblstudents s left join 
    (select h.hallname, ra.roomnumber, studentid 
    from tblroomassignments ra, tblhalls h
    where ra.TimeFrame = #Arguments.timeframe# 
    and ra.hallid = h.hallid) r
    on s.studentid = r.studentid
    where s.lastname like '#Arguments.nameVar#%'
    </cfquery>
    <cfreturn #gsd#>
    </cffunction>

我想弄清楚的是如何显示 StudData+' '+roomdata 如果它们同时存在,因为有些学生没有分配给他们的房间。(我只是想生成一个分配给他们宿舍/房间的学生列表。在我的 cfselect...

<cfselect name="RecipientName"
          query="studentdata"
          display="StudData+' '+roomdata"???????
          value="studentnumber">
</cfselect>

如果页面没有给我一个查询列错误,我不知道如何在显示属性中获取 StudData 和 roomdata。我对coldfusion很陌生,我的理解是你只能显示一个变量?有没有办法将 StudData 和 roomdata 组合成一个变量,然后显示该变量?

有人有想法么?这可以简化吗?希望这一切都有意义!

4

1 回答 1

4

我根本不会使用 a cfselect

<select name="RecipientName">
  <cfoutput query="studentdata">
    <option value="#studentnumber#">#StudData# #roomdata#</option>
  </cfoutput>
</select>

如果您真的想使用cfselect,那么我会连接查询中的列。

StudData + roomdata AS expanded_student_data

...

<cfselect name="RecipientName"
  query="studentdata"
  display="expanded_student_data"
  value="studentnumber"
>
</cfselect>
于 2015-05-27T17:11:26.007 回答