ugrás a tartalomhoz

Hierarchikus adatstruktúra SQL-ben ->JSON

Dj Faustus · 2009. Feb. 24. (K), 10.46
Üdvözletem,
egy, a Weblaboron már bemutatott módon tárolok hierarchikus adatstruktúrát SQL-ben.
Vizualizációjához való megoldáskeresésem közben (kipróbáltam már a PHP Tree Graph Ext-tet is, ami bár könnyen kezelhető, de az adatstruktúra mérete miatt más megoldást kellett keresnem) leltem rá a JavaScript Information Visualization Toolkit nevű eszközre, ami JSON fa-struktúrában fogadja az adatokat.

A kérdésem a következő lenne: hogyan lehetne az SQL-ben tárolt hierarchikus adatstruktúrából JSON struktúrát csinálni? Leginkább az elem gyermekeinek beillesztése okoz kissé fejtörést számomra (a többi csak-csak megy).

Segítségeteket előre is köszönöm.
 
1

Végül sikerült megoldanom...

Dj Faustus · 2009. Feb. 25. (Sze), 20.25
...csak a gyerek-elemek beszúrásánál bonyolítottam el a dolgot kissé. ;)
Ha neadjisten valaki belefutna ilyesmi problémába, okulásként szolgáljon itt egy PHP-függvény:
function displayChildren($szulo, $szint) {
  global $dblink;
  $output = "";
  $result = mysqli_query($dblink,"SELECT * FROM nodes WHERE parent_node='".$szulo."';");
  $rownum=0;
  while ($row = mysqli_fetch_object($result)) { 
    $rownum++;
    if ($rownum<mysqli_num_rows($result)) {
$output .= "{\"id\": \"".$row->id."\",\"name\": \"".$row->node."\",\"data\":[],\"children\":[".displayChildren($row->node, $szint+1)."]},";
    } else {
$output .= "{\"id\": \"".$row->id."\",\"name\": \"".$row->node."\",\"data\":[],\"children\":[".displayChildren($row->node, $szint+1)."]}";
    }
  }
  return $output;
}
A $dblink globális változó egy, a mysqli_connect függvénytől visszakapott MYSQL-azonosító.