Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z rekurencja
quetra
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 19.02.2004
Skąd: zalibórz

Ostrzeżenie: (0%)
-----


Mam taka funkcje ktora powinna generowac drzewko dla forum

[php:1:ffe5b1dfb7]
<?
######################################
$conn=mysql_connect('localhost','root','') or die ('Nie udało mi się - błąd: '.mysql_error());
$base=mysql_select_db('forum') or die ('Nie mogłem wybrac bazy danych - błąd: '.mysql_error());
######################################


function showPosty($id) {
echo ' Ajdi: ' .$id.'<br>'; // na wszelki wypadek - czy funkcja widzi zmienna......

$showPosts=mysql_query("SELECT * FROM posty WHERE sub=".$id." ORDER BY Id ASC") or die(mysql_error());

while($row=mysql_fetch_array($showPosts)) {
echo ' Id: '.$row['Id'].', Sub: '.$row['sub'].', Dane: '.$row['dane'].'<br>';
$numRes=mysql_query("select * from posty WHERE sub='".$row['Id']."'") or die(mysql_error());
if(mysql_num_rows($numRes)>0) {
while ($row2=mysql_fetch_array($numRes)) {
$id=$row2['Id'];
showPosty($id);
}
}
}
echo '<br>';
}




######################################

echo '<hr>';
showPosty(0);
?>

[/php:1:ffe5b1dfb7]


I nie wiem czemu nie dziala ja czeba :|


tabelka w bazie jest prosta i wyglada tak:
Id --- Auto Increment -- id postu
sub -- id postu na ktory odpowiadam
dane -- jakis tam tekst

Posty zaczynajace watek maja sub = 0
kazda odpowiedz np. na watek o Id 22 bedzie miala sub=22;
i tak dalej.

Niby jest oki, ale funkcja w rekurencji nie dziala sad.gif

Nie wiem za bardzo czemu.... jakby zapytanie nie widzialo Id chociaz wewnatrz funkcji jest widoczne.


Hmmmm dzieki z gory za odpowiedz, lub zasugerowanie innego rozwiazania ( chociaz takie wydaje mi sie latwe i proste w miare)

Pozdrawiam


--------------------
Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
Go to the top of the page
+Quote Post
Jojo
post
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


A mnie sie zdaje ze wywolanie rekurencyjne powinno byc nie od pola 'Id' tylko od 'sub' i wtedy powinno wszystko dzialac.
[php:1:1fa95231d3]<?php

while ($row2=mysql_fetch_array($numRes))
{
$id=$row2['sub'];
showPosty($id);
}

?>[/php:1:1fa95231d3]
Go to the top of the page
+Quote Post
quetra
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 19.02.2004
Skąd: zalibórz

Ostrzeżenie: (0%)
-----


No rzeczywiscie! ! ! !

Pomoglo - teraz jest oki biggrin.gif tak kombinowalem, ale cos po drodze musialem zchrzanic.

Zbyt skomplikowany kod napisalem i sie pogubilem biggrin.gif biggrin.gif biggrin.gif

Dzieki i pozdrawiam biggrin.gif


--------------------
Niektórych rzeczy nie można ująć w inny sposób jak tak, czy inaczej....
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:00