Article View: pl.comp.lang.php
Article #1716Re: rekurencja?
From: MeHundo
Date: Thu, 30 Aug 2001 08:43
Date: Thu, 30 Aug 2001 08:43
50 lines
2955 bytes
2955 bytes
leming nine wrote:
>> mam takie banalne pytanko: czy php wspiera rekurencje?
>
> co masz na myśli? chodzi o "wydajnościowe hacki" zastosowane
> w interpreterze (bo jeśli to, to nic nie wiem), czy może po
> prostu o konstrukcję języka - czy coś takiego jest możliwe?
>
> Jeśli to drugie, to wystarczy wiedzieć, że istnieją tam pętle
> jak rówineż funkcje. Sam sobie możesz odpowiedzieć :) -- l9
dzieki za info...
moze sprecyzuje. nie dziala mi taka procedurka i juz w miedzyczasie
dotarlem w manualu do tematu recursion ;]
jest tam wskazane uzywanie zmiennych static jesli maja przetrwac
rekurencyjne wywolanie funckji, ale nie za bardzo wiem jak ja tutaj
zastosowac:
function resolve_post($post_id, $re_level){
static $qresult;
include("db_vars.php");
$_mysql=mysql_pconnect($host,$username,$password) or die
("brak polonczenia");
mysql_select_db($db);
$query="select id,subject,visitor_id,
DATE_FORMAT(posted,'%d-%m-%Y') as fdate
from forum where id_next=$post_id
order by posted desc";
//echo $query . " " . $post_id . " " . $re_level . "<BR>";
$qresult=mysql_query($query);
echo mysql_num_rows($qresult) . "<BR>";
while($row=mysql_fetch_array($qresult)){
echo str_repeat("+",$re_level) . "(" .
$row["fdate"] . ") " .
$row["visitor_id"] . " -=- " .
$row[subject] . "<BR>";
resolve_post($row["id"],$re_level+1);
}
// $mysql_free_result($qresult);
}
resolve_post(0,0);
?>
ma ona wybierac rekordy z tabeli.... a rekurencyjnie dlatego, ze rekordy
tworza hierarchie na zasadzie kazdy ma rodzica. co najwazniejsze po
pierwszej iteracji poprawnie podaje wynik i wskakuje do 2.giej, tam tez,
ale po powrocie poziom wyzej juz nie pamieta zmiennej qresult, w ktora
wskazuje na zdrodlo rekordow.
thx
Technical Details
Message-ID:
<9mkubt$htn$1@news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mailReferences:
<9mk3gp$bm7$1@news.tpi.pl> <9mkg6q$qsr$1@okapi.ict.pwr.wroc.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail From: MeHundo <yanquie@bigfoot.com> Newsgroups: pl.comp.lang.php Subject: Re: rekurencja? Date: Thu, 30 Aug 2001 10:43:41 +0200 Organization: tp.internet - http://www.tpi.pl Lines: 50 Message-ID: <9mkubt$htn$1@news.tpi.pl> References: <9mk3gp$bm7$1@news.tpi.pl> <9mkg6q$qsr$1@okapi.ict.pwr.wroc.pl> Reply-To: yanquie@bigfoot.com NNTP-Posting-Host: pi161.wroclaw.sdi.tpnet.pl Mime-Version: 1.0 X-Trace: news.tpi.pl 999161021 18359 217.96.152.161 (30 Aug 2001 08:43:41 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: 30 Aug 2001 08:43:41 GMT User-Agent: KNode/0.6.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit