[ tibor @ 16.02.2004. 09:39 ] @
Code:

function RecurForMe($id_topic){ 
   $sql = "SELECT * from topic WHERE id_parent = '$id_topic'"; 
   $res = mysql_query($sql) or die("Query failed"); 
    
   echo "<ul>"; 
   while ($r = mysql_fetch_array($res)){ 
      echo '<li><a href="link.php?id='.$r['id_topic'].'">'.$r['title_topic'].'</a>'. "\n"; 
      RecurForMe($r['id_topic']); 
   } 
   echo "</ul>"; 
    
}


Mozda deluje trivijalno ali stvarno ne znam kako da vratim generisani html kao rezultat iz funkcije. Help?

[Ovu poruku je menjao tibor dana 16.02.2004. u 12:08 GMT]

[Ovu poruku je menjao tibor dana 16.02.2004. u 12:09 GMT]
[ dr ZiDoo @ 16.02.2004. 09:56 ] @
function bla($bla)
{
return $bla;
}
[ tibor @ 16.02.2004. 10:06 ] @
To sto si ti napisao vraca rezultat prvog izvrsavanja, ili se varam?
[ leka @ 16.02.2004. 10:09 ] @
Ovako kako si je napisao najbolje je (mozda) da imas referencu na
dodatni argument. Dakle umesto function RecurForMe($id_topic) imao bi
function RecurForMe($id_topic, &$rezultat).

Uglavnom se takve funkcije pisu tako da vracaju rezultat (return
nesto;), ovako kako si ti napisao, i kako sam ja dopunio, ti ces bilo
gde u funkciji moci da napises nesto tipa $rezultat = nestodrugo;... kad
se izadje iz funkcije u promenljivoj koju si dao kao argument funkciji
prilikom pozivanja ces imati rezultat.
[ tibor @ 16.02.2004. 11:00 ] @
Code:

function rec($id_topic,&$reza){
    if($dbcon = connect_db()){
        $sql = "SELECT * from topic WHERE id_topic = '$id_topic'";
        $res = mysql_query($sql);
        while ($r = mysql_fetch_array($res)){
            $reza .= $r['title_topic'].'/';
            print $reza.'<==>';
            rec($r['id_parent'],&$reza);
        }
    }
}

print rec(5,$reza);


Pokusao sam s ovim kodom, ali nisam dobio ono sto sam hteo. "print $reza" unutar fukcije ispise sadrzaj $reza-e ali kada pozovem funkciju rezultat je strlen=0. Da li mozda ima neke veze sto koristim PHP 4.0.2?
[ tibor @ 16.02.2004. 13:18 ] @
Stavio PHP 4.3.4. nema razlike, isto se ponasa, ne dobijam rezultat funkcije :(
[ tibor @ 16.02.2004. 13:33 ] @
Resen problem!

Code:

function rec($id_topic,&$reza){
    if($dbcon = connect_db()){
        $sql = "SELECT * from topic WHERE id_topic = '$id_topic'";
        $res = mysql_query($sql);
        while ($r = mysql_fetch_array($res)){
            $reza .= $r['title_topic'].'/';
            rec($r['id_parent'],&$reza);
        } 
     return $reza;
    }
}
print rec(5,$reza);



Kada sada dodam return $reza, dobijem ono sto mi treba, hvala na pomoci...