witam wszystkich
mam za zadanie narysować drzewko zależności gdzie dane mam przechowywane w bazie i teraz mam problem
do rysowania tgo drzewka urzywam klasy z klasa-drzewko wyglądajecej obieująco no i właśnie tutajsobie nie radze a mianowicie dane do tego drzewka maja nastepującą postać
  1. <?php
  2.  
  3. $arr = array('Szumon Susel' => array('Zygmund Babacki',
  4.  'Karol Hanasis' => array('Jan Babacki',
  5.  'Marcin Jurkon' => array('Edward Wysoki','Ambroży Hulajko'),
  6.  'Ryszard Malok' => array('Adam Gacek')),
  7.  'Hubert Dadacki'));
  8.  
  9. ?>

to chcę uzyskac
ja próbowałem z mojej bazy wrzucać to za pomocą nastepujacego kodu ale on jest zły a ja nie moge tego rozgryść

kod
  1. <?php
  2.  
  3.  $url="localhost";
  4. $url="localhost";
  5. $uzyt="xxxxx";
  6. $haslo="xxxxx";
  7. $b_danych="uszki";
  8. $tabela="txt";
  9. @ mysql_connect($url,$uzyt,$haslo) or die ("Nie mozna polaczyc sie z baza danych");
  10. mysql_select_db($b_danych);
  11. function dzieci(&$data,$id)
  12. {
  13.  $query_d = "SELECT * FROM komsultanci WHERE nr_partnera=".$id;
  14.  $result_d = mysql_query ($query_d);
  15.  $liczba = @ mysql_num_rows($result_d);
  16.  if ($liczba >=1)
  17.  {
  18. $data1[$row_d['imie'].' '.$row_d['nazwisko']] = array($row_d['imie'].' '.$row_d['nazwisko']);
  19.  while ($row_d = mysql_fetch_array($result_d))
  20.  {
  21. array_push($data1, $row_d['imie'].' '.$row_d['nazwisko']);
  22. dzieci($data1[$row_d['imie'].' '.$row_d['nazwisko']],$row_d['id_k']);
  23.  }
  24.  $data[$row['imie'].' '.$row['nazwisko']] = $data1;
  25. }
  26. }
  27. $dat = array();
  28. dzieci($data,10);
  29.  
  30.  include "class.diagram.php";
  31. $g = new Diagram();
  32. $g->SetRectangleBorderColor(0, 0, 0);
  33. $g->SetRectangleBackgroundColor(230, 230, 230);
  34. $g->SetFontColor(0, 0, 0);
  35. $g->SetBorderWidth(0);
  36. $g->SetData($data);
  37. $g->Draw();
  38.  
  39. ?>

a to mi wychodzi teraz
wiec prosze o wskazówki jak fą funkcje napisać aby te dane wygladały ja podałem wyżej
dodam że moja baza wykożystuje hierarhie drugiego sposobu z depesza
moze jak bardziej poznam php to to zmienie
po długiej walce z tym problemem jest on już rozwiazany a to kod działajecej części (może sie komuś przyda)
  1. <?php
  2.  
  3. $data = array();
  4. function boss(&$data, $id)
  5. {
  6. $query_d = "SELECT * FROM komsultanci WHERE id_k=".$id;
  7. $result_d = mysql_query ($query_d);
  8. $liczba = @ mysql_num_rows($result_d);
  9. $row_d=mysql_fetch_array($result_d);
  10. $query = "SELECT * FROM komsultanci WHERE nr_partnera=".$id;
  11. $result = mysql_query ($query);
  12. $li = @ mysql_num_rows($result);
  13. if ($li>0)
  14. {
  15. $data[$row_d['imie'].' '.$row_d['nazwisko']] = array();
  16. while ($row = mysql_fetch_array($result))
  17. {
  18.  
  19. $data1[$row['imie'].' '.$row['nazwisko']] = $row['imie'].' '.$row['nazwisko']);
  20. boss($data1,$row['id_k']);
  21. }
  22. $data[$row_d['imie'].' '.$row_d['nazwisko']] = $data1;
  23. }
  24. }
  25. $id = $_GET['id'];
  26. ojciec($data,$id);
  27.  
  28. ?>

może i tem mój sposób strasznie męczy baze ale narazie działa i dla mnie to jest ważne
jak ktoś ma propozycje jak to ulepszyć to chętnie je poznam