hossi: mySQL - Abfrage 2 Tabellen und Ausgabe als Baumstruktur

Beitrag lesen

Hi

ja, zumindest was php und mysql anbelangt, bin ich blutiger Anfänger!
Ich kenne nur die Grundzüge, auf was man achten muss usw..

Aber mit na Schleife schreiben bin ich jetzt erstmal überfordert ..

Ich konnte mir aber mal mit Hilfe von Tante Google eine Schleife, die fast das macht was ich brauche, ziehen:

[code=php]
<?php
include 'config.php';
?>
<?php
function build_list($arr) {
  $html = '<ul>';
  foreach ($arr as $id => $val) {
    $html .= '<li>' . htmlspecialchars($val['name']) . ' (' . $id . ')';
    if ($val['children']) {
      $html .= build_list($val['children']);
    }
    $html .= '</li>';
  }
  $html .= '</ul>';
  return $html;
}

$sites = array();

$sql = 'SELECT menu_id, menu_name, parent_id FROM menu';
$result = $db->query($sql);
while ($row = $result->fetch_assoc()) {
    $sites[(int)$row['menu_id']] = array(
        'parent_id' => (int)$row['parent_id'],
        'name'      => $row['menu_name'],
        'children'  => array()
    );
}

foreach ($sites as $site_id => $site) {
    $sites[$site['parent_id']]['children'][$site_id] =& $sites[$site_id];
}

$sites = $sites[0]['children'];

echo build_list($sites);

?>
[/code=php]

Die Datenbankstrukur ist hier einfacher gelöst als meine Erste idee :)
Nur noch eine Tabelle mit
menu_id    menu_name    parent_id

Aufbau ist sonst gleich

Jetzt bekomme ich auf meinem Xampp folgenden Fehler
Fatal error: Call to a member function query() on a non-object in C:\public\xampp\htdocs\igo\index.php on line 21

Zeile 21:
$result = $db->query($sql);

Das ist eine sql-liste abfrage irgendwie? kann das sein, dass die evtl. nur auf meinem xampp nicht installiert ist?

Gruß Hossi