man your making it more complicated than you need just put it into a query located in the request scope
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chad Renando Sent: Saturday, May 21, 2005 11:01 AM To: CFAussie Mailing List Subject: [cfaussie] Re: Recursion Issue Don't think it's a scope thing. Here's the whole code of the loop: <cfloop query="qryGetParentNavigation"> <!--- Find children of the current parent ---> <cfquery name="qryGetChildNavigation"> SELECT FROM WHERE Navigation=1 AND ParentSystemLocationID=#qryGetParentNavigation.SystemLocationID# </cfquery> <!--- Insert Navigation Item into Array Attribute 1 = Navigation Name Attribute 2 = Navigation ID Attribute 3 = return EmptyLocation, which indicates if clicking the link results ingoing to a page (1=empty, 0=clickable) Attribute 4 = Navigation Parent ID Attribute 5 = Navigation Order ---> <cfset attributes.NavigationArray[#attributes.NavigationItemNumber#][#attributes.NavigationAttributeNumber#] = qryGetParentNavigation.SystemLocationName> <cfset attributes.NavigationAttributeNumber = attributes.NavigationAttributeNumber + 1> <cfset attributes.NavigationArray[#attributes.NavigationItemNumber#][#attributes.NavigationAttributeNumber#] = qryGetParentNavigation.SystemLocationID> <cfset attributes.NavigationAttributeNumber = attributes.NavigationAttributeNumber + 1> <cfset attributes.NavigationArray[#attributes.NavigationItemNumber#][#attributes.NavigationAttributeNumber#] = qryGetParentNavigation.EmptyLocation> <cfset attributes.NavigationAttributeNumber = attributes.NavigationAttributeNumber + 1> <cfset attributes.NavigationArray[#attributes.NavigationItemNumber#][#attributes.NavigationAttributeNumber#] = qryGetParentNavigation.ParentSystemLocationID> <cfset attributes.NavigationAttributeNumber = attributes.NavigationAttributeNumber + 1> <cfset attributes.NavigationArray[#attributes.NavigationItemNumber#][#attributes.NavigationAttributeNumber#] = qryGetParentNavigation.SystemLocationOrder> <cfset attributes.NavigationItemNumber = attributes.NavigationItemNumber + 1> <cfset attributes.qryGetNavigationIndexNo = attributes.qryGetNavigationIndexNo + 1> A: <cfoutput>#attributes.qryGetNavigationIndexNo# (#qryGetChildNavigation.RecordCount#): </cfoutput><cfdump var="#attributes.NavigationArray#"> <!--- If there is a child for the parent, call the recurse tag again, but this time make the parentitemid equal to the itemid of the current child item. Increase the level by 1. ---> <cfif qryGetChildNavigation.RecordCount GT 0> <cf_tag_navigationarraybuild ParentItemID = "#qryGetParentNavigation.SystemLocationID#" NavigationArray = "#attributes.NavigationArray#" NavigationItemNumber = "#attributes.NavigationItemNumber#" NavigationAttributeNumber = "1" HasPermissionForCurrentLocation = "#attributes.HasPermissionForCurrentLocation#" sqlSystemLocationWhereClause = "#attributes.sqlSystemLocationWhereClause#" qryGetNavigationIndexNo = "#attributes.qryGetNavigationIndexNo#" TimesHittingB = "#attributes.TimesHittingB#"> </cfif> B<cfoutput>(#attributes.TimesHittingB#): #attributes.qryGetNavigationIndexNo# (#qryGetChildNavigation.RecordCount#): </cfoutput><cfdump var="#attributes.NavigationArray#"> <cfset attributes.TimesHittingB = attributes.TimesHittingB + 1> </cfloop> On 5/21/05, Sean Corfield <[EMAIL PROTECTED]> wrote: > All your local variables need to be declared with var - including the > query name. > > On 5/20/05, Chad Renando <[EMAIL PROTECTED]> wrote: > > Hopefully, one of you other weekend warriors can help, else I'll have > > to wait 'till Monday... > > > > I have a recursive custom tage I use to build my navigation. It goes > > like so (shortened to get the point across): > > > > cfparam "ParentID" "0" > > > > Query "ReturnParent" (Where ID=ParentID) > > > > <cfloop query="ReturnParent"> > > > > Query "CheckForChild" > > > > Build NavigationArray > > <!--- Testing variable: A: Number of times run + 1 > > (CheckForChild.RecordCount) > > cfdump NavigationArray ---> > > If CheckForChild.RecordCount GT 0 > > cf_buildnavigation ParentID="ReturnParent.ID" > > /If > > <!--- Testing variable: B(Number of times at point B): Number of > > times run + 1 (CheckForChild.RecordCount) > > cfdump NavigationArray ---> > > </cfloop> > > > > I have output the results of test points A and B at the bottom of the > > email. You'll see the problem is that the navi8gation gets built fine > > at the second point A, as well as the first point B. But for some > > reason, no matter what happens in the middle, the contents of the > > array end up being that of the first time through the tag. > > > > Hope it makes sense... > > > > Chad > > who is watching Teamo Supreamo while coding > > > > A: 2 (1): > > 1 > > 1 Home > > > > A: 3 (0): > > 1 > > 1 Home > > > > 2 > > 1 Manage System Locations > > > > B(1): 3 (0): > > 1 > > 1 Home > > > > 2 > > 1 Manage System Locations > > > > B(1): 2 (1): > > 1 > > 1 Home > > --- > You are currently subscribed to cfaussie as: [EMAIL PROTECTED] > To unsubscribe send a blank email to [EMAIL PROTECTED] > Aussie Macromedia Developers: http://lists.daemon.com.au/ > --- You are currently subscribed to cfaussie as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/ --- You are currently subscribed to cfaussie as: [email protected] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/
