phpbar.de logo

Mailinglisten-Archive

AW: [php] sitemap -> treeview

AW: [php] sitemap -> treeview

David Soria Parra php_(at)_phpcenter.de
Tue, 27 Nov 2001 20:19:10 +0100


Hi Liste.

hier ist mal mein array ansatz..nicht besonders profi mäßig schätz ich, da
ich dieses problem zum ersten mal gemacht hab und absolut keine ahnung hab
wie ich wo was machen könnte noch :D.
Verbesserungen sind sehr sehr gerne erwünscht.

PHP:
<?

$res = $DB->query("SELECT * FROM layers");
while ($obj = $DB->fetch_object($res) ) {
      $data[$obj->id] = array(
                         "id"=>$obj->id,
                         "name"=>$obj->name,
                         "refID"=>$obj->refID,
                         "actastopic"=>$obj->topic);
}

function renderLayer($parentID) {
    global $data;
    if ($res = my_array_search($data,"refID",$parentID)) {
        foreach ($res AS $index) {
              echo $data[$index][name]."<br>\n";
              renderLayer($index);
        // hier wird die Funktion renderLayer rekursiv aufgerufen
        // um alle Seiten anzuzeigen, die die gerade ausgegebene
        // Seite als Parent haben.
        }
    }
}

function my_array_search($array,$field,$needle) {
         // $field wird deklariert um keine verwechslung mit der ID
hervorzurufen
        for ($i = 1; $i<=count($array);$i++) {
            $tmparray = $array[$i];
            if ($tmparray[$field] == $needle) {
               $key = $i;
               $c = count($returnarray);
               $c++;
               $returnarray[$c] = $key;
            }
        }
        if (count($returnarray) >= 1) {
           return ($returnarray);
        }
        return (false);
}

renderLayer(0);
?>


hoffe alles ist verständlich und ich hoffe ich konnte helfen :D

so long
david


php::bar PHP Wiki   -   Listenarchive