phpbar.de logo

Mailinglisten-Archive

[php] sitemap -> treeview

[php] sitemap -> treeview

Manuel Gisbert php_(at)_phpcenter.de
Mon, 26 Nov 2001 16:09:21 +0100


Hallo Liste,

eigentl. bin ich heute viel zu faul zum posten, nevertheless trotzdem ein
paar Anregungen hierzu:
Nachdem die Hierarchie ja schon in einer Tabelle mit Referenzen auf den
Parent vorliegt,
schreit das Problem nach einer Lösung via Rekursion.
Unter der Annahme das alle Seiten auf der Root den Parent 0 haben,
ist folgender Ansatz möglich um eine (theoretisch) unbegrenzt! tiefe Sitemap
darzustellen:

<?
// unvollständig, nicht getestet

renderLayer(0)

function renderLayer($parentID)
{
    $query = "select * from tablename where refID='$parentID'";
    $result = mysql_query($query);
    while($data = mysql_fetch_array($result))
    {
        print($data["pageName"]."<br>");
        renderLayer($data["ID"]);
        // hier wird die Funktion renderLayer rekursiv aufgerufen
        // um alle Seiten anzuzeigen, die die gerade ausgegebene
        // Seite als Parent haben.
    }
}

?>

Wie angemerkten, ist dieser Code unvollständig und nicht getestet, sollte
einer von euch diesen Ansatz vertiefen wollen, so kann ich euch die quellen
eines forums schicken, das genau diese technik zum rendern der threads
nutzt.
Gruß Manuel


php::bar PHP Wiki   -   Listenarchive