Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z klasą, tworzącą drzewa
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

Dziś mam problem z klasą która tworzy drzewka z tablic. Błąd to:
Kod
Warning: Invalid argument supplied for foreach() in /home2/gla10000/public_html/sklep/panel_administracyjny/funkcje/tree.php on line 74


Kod klasy mam stąd.

Ściągnąłem, tak dla testu do mojego skryptu:
  1. $polaczenie = new baza;
  2. $query = 'SELECT * FROM kategorie';
  3. $wynik = mysql_query($query);
  4. $tabelka = mysql_fetch_assoc($wynik);
  5. $out = array();
  6. while($row = mysql_fetch_assoc($wynik)) {
  7. $out[] = $row;
  8. }
  9.  
  10. $oTree = new Tree( $out );
  11. $oTree->createTree();
  12.  
  13. foreach( $oTree->getTree1D() as $k => $v ){
  14. echo str_repeat( ' ', $v['level']*5 ).'- '.$v['nazwa']."\n";
  15. // klucz level, jest tworzony wewnątrz klasy,
  16. // jego nazwę można zmienić używając metody setLevelRowName()
  17. }


Oczywiście w klasie zmieniłem nazwy pól na własne (poprawne):
  1. private $idRowName = 'id';
  2. private $parentRowName = 'id_kategori_wyzszej';
  3. private $columnRowName = 'nazwa';
  4. private $levelRowName = 'level';


Wszystko wydaje się być dobrze wpisane w skrypt, a jednak - nie działa. Błąd który się pokazuje jest w klasie. Ale powoduje go mój kawałek kodu który ją wywołuje.

Proszę o pomoc!

Ten post edytował thomson89 4.08.2010, 21:34:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
muk4
post
Post #2





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Znalazłem jakąś moją starą funkcję do zagnieżdżania komentarzy:
  1. function show_comments($news_id, $comm_id=0, $nest_lvl=0){
  2. $margin_value = $nest_lvl*15;
  3. $res = mysql_query("SELECT * FROM `komentarze` WHERE `reply`='$comm_id' AND `news_id`='$news_id' ORDER BY `date`");
  4. if(mysql_num_rows($res) == '0'){ return 0;
  5. }else{
  6. while($koment = mysql_fetch_assoc($res)){
  7. echo "<span style=\"margin-left:{$margin_value}px;\">{$koment['id']} | {$koment['reply']} | {$koment['content']} | {$koment['date']} </span><br />";
  8. show_comments($news_id, $koment['id'], $nest_lvl+1);
  9. }
  10. }
  11. };
  12. //przykład:
  13. show_comments($id_newsa);

Być może zrobisz z niej użytek.
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 10:19