Mailinglisten-Archive |
Hi nocheinmal,
Nach einigem hin und her, hab ich mein 'Problem' von eben gelöst. Das
untenstehende macht ja schon das, was ich gern hätte. Mir erscheint die Lösung nur
etwas ungeschickt zu sein. Ungeschickt in dem Sinne, das es nicht die von mir
gewünschte Flexiblität bezüglich der Tiefe der Schachtelung hat. Wie löse
ich das besser?
Gruss Andreas
<?php
while($i<$DBSelectNum){
$PageID = mysql_result($DBSelect,$i,"pg_id");
$PageParentID = mysql_result($DBSelect,$i,"pg_parent_id");
$PageTitle = mysql_result($DBSelect,$i,"pg_title");
$Array[$PageParentID][$PageID] = "$PageParentID,$PageID,$PageTitle";
$i++;
}
while(list($m, $MenuNodeSplit) = _(at)_each($Array[0])){
list ($PageParentID, $PageID, $PageTitle) = split ('[,]', $MenuNodeSplit);
print "$PageParentID, $PageID, $PageTitle<br>";
if(is_array($Array[$PageID])){
while(list($m, $MenuNodeSplit) = _(at)_each($Array[$PageID])){
list ($PageParentID1, $PageID1, $PageTitle1) = split ('[,]',
$MenuNodeSplit);
print "\t$PageParentID1, $PageID1, $PageTitle1<br>";
if(is_array($Array[$PageID1])){
while(list($m, $MenuNodeSplit) = _(at)_each($Array[$PageID1])){
list ($PageParentID2, $PageID2, $PageTitle2) = split ('[,]',
$MenuNodeSplit);
print "\t\t$PageParentID2, $PageID2, $PageTitle2<br>";
if(is_array($Array[$PageID2])){
while(list($m, $MenuNodeSplit) = _(at)_each($Array[$PageID2])){
list ($PageParentID3, $PageID3, $PageTitle3) = split ('[,]',
$MenuNodeSplit);
print "\t\t\t$PageParentID3, $PageID3, $PageTitle3<br>";
if(is_array($Array[$PageID3])){
while(list($m, $MenuNodeSplit) = _(at)_each($Array[$PageID3])){
list ($PageParentID4, $PageID4, $PageTitle4) = split ('[,]',
$MenuNodeSplit);
print "\t\t\t\t$PageParentID4, $PageID4, $PageTitle4<br>";
}
}
}
}
}
}
}
}
}
?>
--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net
php::bar PHP Wiki - Listenarchive