On Mar 1, 2012, at 7:45 PM, Jim Lucas wrote: > On 03/01/2012 04:39 PM, Jay Blanchard wrote: >> >> On Mar 1, 2012, at 6:36 PM, Jay Blanchard wrote: >> >>> [snip]…stuff…[/snip] >>> >>> I am getting close, but I am also getting frustrated. I probably need to walk away for a bit. >>> >>> I have an array of tiers…. >>> >>> Array >>> ( >>> [0] => TIER1DATA >>> [1] => TIER2DATA >>> [2] => TIER3DATA >>> [3] => BUSTIER1DATA >>> [4] => BUSTIER2DATA >>> [5] => BUSTIER3DATA >>> [6] => BUSTIER4DATA >>> ) >>> Each of the tiers which represent parents in children in pairs. TIER1DATA is the parent of TIER2DATA, etc. representing 7 columns of data. Here is my code so far - any insight would be valuable and extremely appreciated by me. >>> >>> function display_children($i, $child) { >>> global $dbc; >>> global $tierArray; >>> echo $i."<br />"; >>> /* retrieve children of parent */ >>> $get = "SELECT DISTINCT `". $tierArray[$i] ."` FROM `POSITION_SETUP` "; >>> $get .= "WHERE `COMPANY_ID` = '3' "; >>> if($i> 0) { >>> $get .= "AND `" . $tierArray[$i - 1] . "` = '" . $child . "' "; >>> } >>> echo $get."<br />"; >>> if(!($result = mysql_query($get, $dbc))) { >>> echo mysql_errno() . "\t" . mysql_error() . "\n"; >>> exit(); >>> } >>> >>> while($row = mysql_fetch_array($result)) { >>> >>> /* indent and display the title of this child */ >>> echo str_repeat(' ',$i).$row[$tierArray[$i]]."<br />\n"; >>> >>> /* get the children's children */ >>> display_children($i + 1, $row[$tierArray[$i]]); >>> } >>> } >>> >>> It does produce the right query for only the first child in each case, I cannot get it to go deeper. I have just been looking at it for too long. TVMIA! >> >> Forgot to say that if I isolate any one level without recursion I get all of the results for that level. >> >> > > How are you calling this? What are your initial arguments? > > What does your DB schema look like? > > Can you show a brief example of the data in the table? > Dump: SELECT * FROM position_setup WHERE company_id='3' > > Can you show the output of the function above? I initialize it by calling the function like this: display_children(0, 0) Each of the tiers is located in adjacent columns in a single table tier1data, tier2data, tier 3 data……bustier1data, bustier2data….. The array retrieves only the relevant tiers for this company and that is the output of that array at the top of my example. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php