<?php function MenuNowe($Id){ $q = "SELECT * FROM dzialy WHERE Id=$Id ORDER BY sort ASC"; $r = $this->q($q); if ($mn[3]==0){ return $mn[0];//TU!!! }else{ $this->MenuNowe($mn[5]); } } } function OstatnioDodane(){ $q = "SELECT * FROM artykuly ORDER BY DataDodania DESC LIMIT 0,5"; $r = $this->q($q); echo '<p class="MenuPrawe"><a href="index.php?IdArtykul='.$tb[0].'&ID='.$this->MenuNowe($tb[3]).'&IdDzial='.$tb[3].'" class="MenuPrawe">'.$tytul.'...</a></p>'; } } ?>
fragment kodu gdzie pisze //TU!!! stanowi problem ponieważ używając return tylko raz będzie zwrócona wartość pomimo tego że wywołanie tej funkcji nastąpi kilkukrotnie w pętli while, wpisując echo zostanie wyświetlone ale nie podstawione jako zmienna w adresie. Wcześniej mialem drugą funkcję zapisana tak:
<?php function OstatnioDodane(){ $q = "SELECT * FROM artykuly ORDER BY DataDodania DESC LIMIT 0,5"; $r = $this->q($q); $ID = $this->MenuNowe($tb[3]); echo '<p class="MenuPrawe"><a href="index.php?IdArtykul='.$tb[0].'&ID='.$ID.'&IdDzial='.$tb[3].'" class="MenuPrawe">'.$tytul.'...</a></p>'; } } ?>