dsn in user defined functions
hey, I'm a newbie in coldfusion. Have been stuck with this problem for a week now... Hope somebody could help...
I implemented a related select on a form:
<table>
<tr>
<td>Select Level:</td>
<td><cfselect name="level_id" id="level_id"
bind="cfc:myfuncs.getLevel()"
bindonload="true" value="level_id" display="level_name" /></td>
</tr>
<tr>
<td>Select Class:</td>
<td><cfselect name="class_id"
bind="cfc:myfuncs.getClasses({level_id})" value="class_id" display="class_id" /></td>
</tr>
</table>
Meanwhile myfuncs.cfc looks like this:
<cfcomponent output="false">
<cfset THIS.dsn="#Request.DSN#">
<cffunction name="getLevel" access="remote" returnType="array">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(2)>
<cfset var i=0>
<!--- Get data --->
<cfquery name="data" datasource="#THIS.dsn#">
<cfquery name="data" datasource="#THIS.dsn#">
SELECT level_id, level_name
FROM tbLevel
ORDER BY level_id
</cfquery>
<!--- Convert results to array --->
<cfloop index="i" from="1" to="#data.RecordCount#">
<cfset result[1]=data.level_id>
<cfset result[2]=data.level_name>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
<cffunction name="getClasses" access="remote" returnType="array">
<cfargument name="level_id" type="numeric" required="true">
<!--- Define variables --->
<cfset var data="">
<cfset var result=ArrayNew(2)>
<cfset var i=0>
<!--- Get data --->
<cfquery name="data" datasource="#THIS.dsn#">
SELECT class_id, class_day, class_time, class_size, start_dt, end_dt
FROM tbClass
WHERE level_id = #ARGUMENTS.level_id#
ORDER BY class_day
</cfquery>
<!--- Convert results to array --->
<cfloop index="i" from="1" to="#data.RecordCount#">
<cfset result[1]=data.class_id>
<cfset result[2]=data.class_day&" "&data.class_time>
<cfset result[3]=data.class_size>
<cfset result[4]=data.start_dt>
<cfset result[5]=data.end_dt>
</cfloop>
<!--- And return it --->
<cfreturn result>
</cffunction>
</cfcomponent>
My Application.cfm file contains:
<cfparam name="Request.DSN" default="mydsn">
<cfparam name="Request.username" default="myuser">
<cfparam name="Request.password" default="mypass">
But my drop-list is just empty on the form. No errors. Coldfusion version is 8 and the server is a multi-home server.
Could any expert shed some light on this?
Thanks!
-madison
