Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problemy z wyswietlaniem drzewka, nie wraca tam gdzie powinien.....
ergo
post 17.11.2005, 10:59:03
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

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


napisalem sobie taka funkcje ktora ma mi zrobic strzukture zagniezdzona kategorii
najpierw podam strukture bazy :
Kod
id  rodzic   nazwa
1      0      kategoria1     
2  0  kategoria2  
3  0  kategoria3  
12  1  subcat1  
13  1  subcat11  
32  13  jeszcze glebiej  
28  2  xxx  

  1. <?php
  2.  
  3. function drzewo($id){
  4. global $tab,$glebokosc, $drzewko;
  5. $zapytanie='SELECT * FROM `'.$tab."kategorie` WHERE rodzic=$id ORDER BY jezyk ASC";
  6. $wynik=mysql_query($zapytanie);
  7. while($wiersz=mysql_fetch_assoc($wynik)){
  8. $drzewko[]=array('id'=>$wiersz[id],'nazwa'=>$wiersz[nazwa],'glebokosc'=>(int)$glebokosc);
  9. $zapytanie2='SELECT * FROM `'.$tab."kategorie` WHERE rodzic=".$wiersz[id]." ORDER BY jezyk ASC";
  10. $wynik2=mysql_query($zapytanie2);
  11. if(mysql_num_rows($wynik2)>0){
  12. $glebokosc++;
  13. drzewo($wiersz[id]);
  14. $glebokosc=0;
  15. }
  16.  
  17. }
  18.  
  19. }
  20.  
  21. drzewo(0);
  22.  
  23. ?>

po wyrysowaniu daje mi to cos takiego czyli jest ok :
Kod
|-  kategoria1  -
|       |- subcat1 -
|       |- subcat11 -
|              |- jeszcze glebiej -
|- kategoria2 -
|       |- xxx -
|- kategoria3 -  

ale gdy dodam np. do ktorej subkategorii jeszcze jedna glebsza pozycje i tabela wyglada np:
Kod
id   rodzic  nazwa
1      0      kategoria1     
2  0  kategoria2  
3  0  kategoria3  
12  1  subcat1  
13  1  subcat11  
32  13  jeszcze glebiej  
28  2  xxx  
33      12      podkategoriaxx      0


otrzymuje cos takiego :
Kod
|-  kategoria1  -
|       |- subcat1 -
|              |- podkategoriaxx -
|- subcat11 -
|       |- jeszcze glebiej -
|- kategoria2 -
|       |- xxx -
|- kategoria3 -

czyli wszystko sie przsuwa i wyswietla sie zle , ma ktos pomysl jak to poprawic i wyjasnic co bylo zle i dlaczego bedzie dobrze ? :] z gory dziekuje
dobra jzu mi ktos podpowiedzial trzeba bylo uzyc
$glebokosc-- zamiast $glebokosc=0 na koncu tongue.gif
ale moze komus kod sie i tak przyda biggrin.gif

Ten post edytował ergo 17.11.2005, 11:08:51


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
legorek
post 17.11.2005, 11:14:05
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Poczytaj o drzewkach. Twoja metoda nie jest najlepsza i jak sam widzisz nie działa najlepiej ;-)


--------------------
Go to the top of the page
+Quote Post
ghostrider
post 17.11.2005, 11:43:35
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


nie sprawdzałem tego dokładnie ale:


  1. <?php
  2.  $glebokosc++;
  3. drzewo($wiersz[id]);
  4. $glebokosc=0;
  5. ?>


powinno chyba być
  1. <?php
  2.  $glebokosc++;
  3. drzewo($wiersz[id]);
  4. $glebokosc--;
  5. ?>


spróbuj, zobaczymy ...

poczytaj też: http://www.phpriot.com/d/articles/php/appl...es-2/page6.html

Ten post edytował ghostrider 17.11.2005, 11:45:28


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
ergo
post 18.11.2005, 08:56:48
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.03.2005

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


tak jak zmienilem wczoraj na $glebokosc-- to zaczelo dzialac tongue.gif


--------------------
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 06:59