hi

i am having a problem with a recursive function resetting the contents of a 
query, so i must be doing it wrong, can anyone spot what i should be doing 
please, thanks

basically i pass in a folderid and query to see if it has any children, if it 
does then it adds the child and goes on to recall if the sub folder has 
children. the problem is that when it reaches the bottom and finds a folder 
that doesnt have any children then it comes back up a level and the query is 
blank. so how can i get it to keep the contents of an array local to that 
recursion of the function i.e. when it comes up a lavel, it remembers the query 
for that folder

the recursive function builds up a tree as follows:

<cffunction name="addXMLFolderNodes">
     <cfargument name="xmlElement" type="xml" required="yes">
         <cfargument name="childXMLCountReference" type="numeric" 
required="yes">
         <cfargument name="parentID" type="numeric" required="yes">
         
         
         <!--- first see if this folder has any children folders --->
         <cfquery name="childFolders" datasource="portexunitich" 
username="#session.dbUsername#" password="#session.dbPassword#">
       SELECT * from querytree
           where folderParentID = <cfqueryparam value="#parentID#" 
cfsqltype="cf_sql_bigint" maxlength="20" null="no">;
     </cfquery>
         
         
         
         <!--- loop through adding them to the tree --->
         <cfloop index="ax1" from="1" to="#childFoldersTemp.recordcount#">
           <cfset xmlElement.xmlChildren[childXMLCountReference] = 
XmlElemNew(MyDoc, "row")>
       <cfset 
xmlElement.xmlChildren[childXMLCountReference].XmlAttributes["id"] = 
childFoldersTemp.folderID>
           <cfset 
xmlElement.xmlChildren[childXMLCountReference].XmlAttributes["bgColor"] = 
"white">
                
           <cfset xmlElement.xmlChildren[childXMLCountReference].XmlChildren[1] 
= XmlElemNew(MyDoc, "cell")>
       <cfset 
xmlElement.xmlChildren[childXMLCountReference].XmlChildren[1].XmlText = 
childFoldersTemp.folderName>
           <cfset 
xmlElement.xmlChildren[childXMLCountReference].XmlChildren[1].XmlAttributes["image"]
 = "folderOpen.gif">
           <cfoutput>'#childFoldersTemp.folderID[ax1]#'</cfoutput>
           <cfset temp = 
addXMLFolderNodes(xmlElement.xmlChildren[childXMLCountReference],2,childFoldersTemp.folderID[ax1])>
           <cfset childXMLCountReference++>
         </cfloop>
   
   </cffunction> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;192386516;25150098;k

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:306636
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to