Hey Guys:

I have a script that is run to store some arrays of stuctures via WDDX in a database.  
However I am getting stuck in the second loop.  Here is the code if you get the time 
to look at it.  thanks

=========================================<!--- query database for category listing --->
<cfquery name="qCategories" datasource="POB">
 SELECT  cName, cat_id, parent_id
 FROM   tblCategories
</cfquery>

<!--- create new variables --->
<cfset nav_array = ArrayNew(1)>
<cfset cat_struct = StructNew()>
 
<!--- loop through each record found --->
<cfloop query="qCategories">
 <!--- empty variables --->
 <cfset i = ArrayClear(nav_array)>
 <cfset i = StructClear(cat_struct)>
 
 <!--- set parent id --->
 <cfset parent_id = qCategories.parent_id>
 
 <cfloop condition="parent_id NEQ 'none'">
  <cfquery name="qParentCategory" datasource="POB">
   SELECT cName, cat_id, parent_id
   FROM  tblCategories
   WHERE  cat_id = '#parent_id#'
  </cfquery>
  <cfscript>
   StructClear(cat_struct);
   //new ad structure
   cat_struct.id = qParentCategory.cat_id;
   cat_struct.name = qParentCategory.cName;
   //add ad structure to navigation array
   nav_array[#Evaluate(ArrayLen(nav_array) + 1)#] = Duplicate(cat_struct); 
//duplicate() function only works in 4.5 or above
  </cfscript>
  <cfset parent_id = qParentCategory.parent_id>
  <cfoutput>#parent_id#</cfoutput>
 </cfloop>
 
 <cfscript>
  //we can't forget to store the top level parent
  StructClear(cat_struct);
  cat_struct.id = qCategories.cat_id;
  cat_struct.name = qCategories.cName;
  nav_array[#Evaluate(ArrayLen(nav_array) + 1)#] = Duplicate(cat_struct); 
//duplicate() function only works in 4.5 or above
 </cfscript>
 
 <!--- convert array into wddx for db storage --->
 <cfset cat_wddx = "">
 <cfwddx action="cfml2wddx" input="#attributes.nav_array#" output="cat_wddx">
 
 <cfquery name="qUpdateCatWDDX" datasource="POB">
  UPDATE tblCategories
  SET   cat_wddx = '#cat_wddx#'
  WHERE  cat_id = '#qCategories.cat_id#'
 </cfquery>
 
 <!--- output what was inserted into the database --->
 <cfoutput>Stored - "#cat_wddx#"<br></cfoutput>
</cfloop>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to