phpbar.de logo

Mailinglisten-Archive

[php] Tree Funktion (Arrays II)

[php] Tree Funktion (Arrays II)

Andreas php_(at)_phpcenter.de
Wed, 19 Dec 2001 19:31:59 +0100 (MET)


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