Re: foreach() & db brainiacs please help?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



couldn't this be accomplished with a Left Join? Depending on how your
tables are arranged you should be able to get all (sub)sub-names out and in
the same result set using the top_name with a Left Join.  any key that
relates to the parent key would be returned.

it looks like you have them all in the same table though....which may
furuther complicate things, if so, how is the relatoinship maintained in
the table(s)?

Jeff


                                                                                                                                        
                      "Peter Sharpe"                                                                                                    
                      <banana__peel@msn        To:       php-db@lists.php.net                                                           
                      .com>                    cc:                                                                                      
                                               Subject:   foreach() & db brainiacs please help?                                 
                      09/09/2003 03:17                                                                                                  
                      PM                                                                                                                
                      Please respond to                                                                                                 
                      "Peter Sharpe"                                                                                                    
                                                                                                                                        
                                                                                                                                        




I have a database full of names. each name could be linked to any number of
sub-names, each sub-name could be linked to any number of sub-sub-names, to
infinity (unlikely but possible).

I need to iterate through this nest of names starting with a main name;
lets
call the main name Peter. Peter could have John, Tim & Mike working for
him.
Tim could have Greg working for him.

function select_names($current_top_name){
global $dbh;

$sql = "
SELECT
 name_id_fk
FROM
 name_relation
WHERE
 top_name_id_fk = '".$current_top_name."'
";
$rs = pg_query($dbh, $sql);

if(($num_rows = pg_num_rows($rs)) > 0){

for($i=0;$i<$num_rows;$i++){
$row = pg_fetch_row($rs, $i, PGSQL_ASSOC);
$associated_names[] = $row['name_id_fk'];
}

pg_free_result($rs);

} // end if(($num_rows = pg_num_rows($rs)) > 0)

return $associated_names;

} // end function select_names()

$current_top_name = 'Peter';

while(!$stop){

$assoc_names = select_names($current_top_name);

foreach($assoc_names as $key => $val){
print($val);
$more_assoc_names = select_names($val);
if($more_assoc_names){
ARG HELP IM NOT SMART ENOUGH
}

} // end while(!$stop)

} // end foreach($assoc_names as $key => $val)

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux