Re: Nested database loops and completing an unordered list....

From: Date: Fri, 02 Mar 2012 01:45:51 +0000
Subject: Re: Nested database loops and completing an unordered list....
References: 1 2 3 4 5 6 7  Groups: php.general 
Request: Send a blank email to php-general+get-316829@lists.php.net to get a copy of this message
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('&nbsp;',$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? -- Jim Lucas http://www.cmsws.com/ http://www.cmsws.com/examples/ http://www.bendsource.com/

« previous php.general (#316829) next »