tysk: PHP/MySQL Navigation

Hallo Leute,

habe folgende Tabelle:

CREATE TABLE navigation (
  ID int(10) NOT NULL auto_increment,
  parentID int(10) NOT NULL default '0',
  name varchar(50) NOT NULL default '',
  priority int(10) NOT NULL default '0',
  rights int(10) NOT NULL default '0',
  hidden tinyint(1) NOT NULL default '0',
  target varchar(10) NOT NULL default '',
  PRIMARY KEY  (ID)
) TYPE=MyISAM;

Daten für Tabelle navigation

INSERT INTO navigation VALUES (1, 0, 'Home', 0, 0, 0, '');
INSERT INTO navigation VALUES (2, 1, 'Test1', 0, 0, 0, '');
INSERT INTO navigation VALUES (3, 1, 'Test2', 0, 0, 0, '');
INSERT INTO navigation VALUES (4, 1, 'Test3', 0, 0, 0, '');
INSERT INTO navigation VALUES (5, 2, 'Unterseite Test1', 0, 0, 0, '');
INSERT INTO navigation VALUES (6, 4, 'Unterseite Test2', 0, 0, 0, '');
INSERT INTO navigation VALUES (7, 3, 'Unterseite Test3', 0, 0, 0, '');
INSERT INTO navigation VALUES (8, 7, 'Unter Unterseite Test3', 0, 0, 0, '');
INSERT INTO navigation VALUES (9, 7, 'Unter2 Unterseite Test3', 0, 0, 0, '');
INSERT INTO navigation VALUES (10, 3, 'Unterseite 2 Test3', 0, 0, 0, '');

und folgenden Code:

$query = "SELECT * FROM navigation WHERE parentID='1'";
$query_result = $db->query( $query );
while ( $row = $query_result->fetchRow( DB_FETCHMODE_ASSOC ) ) {
echo "<a href='$PHP_SELF?id=$row[ID]'><strong>".$row[name]."</strong></a><br>";
if ($id && id != '1') {
$query2 = "SELECT * FROM navigation WHERE parentID='$id'";
$query_result2 = $db->query( $query2 );
while ( $row2 = $query_result2->fetchRow( DB_FETCHMODE_ASSOC ) ) {
if ($id == $row[ID]) {
echo "<font color='red'>".$row[parentID].$row[ID]."</font>";
echo "<font color='green'>".$row2[parentID].$row2[ID]."</font>";
echo "<a href='$PHP_SELF?id=$row2[ID]'>$row2[name]</a><br>";
$query3 = "SELECT * FROM navigation WHERE parentID='7'";
$query_result3 = $db->query( $query3 );
while ( $row3 = $query_result3->fetchRow( DB_FETCHMODE_ASSOC ) ) {
if ($id == $row[parentID]) {
echo "<a href='$PHP_SELF?id=$row3[ID]'>$row3[name]</a><br>";
}
}
}
}
}
}

Nun möchte ich auch die zweite Ebene ausgeben können, also 'Unterseite 2 Test3', wie ist dies möglich - auch sollte die Struktur bei Auswahl der Untermenüpunkte aufgeklappt bleiben...

Big Thx,
tysk

  1. PS: welche Infos braucht Ihr sonst noch so, um mir da weiterzuhelfen?

    Big Thx!
    tysk