我试图显示查询结果,但我很难将查询产生的两个值组合在一起......这是我的查询
<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 +&#39; &#39; + roomdata如果它们一起存在,因为有些学生没有分配给他们的房间。 (我只想制作一份有宿舍/房间分配给他们的学生名单。在我的cfselect中...
<cfselect name="RecipientName"
query="studentdata"
display="StudData+' '+roomdata"???????
value="studentnumber">
</cfselect>
我不知道如何在display属性中获取StudData和roomdata,而不会让页面显示查询列错误。我对coldfusion很新,我的理解是你只能显示一个变量吗?有没有办法将StudData和roomdata组合成一个变量,然后显示该变量?
有人有什么想法吗?这可以简化吗? 希望这一切都有意义!
答案 0 :(得分:4)
我根本不会使用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>