Mailinglisten-Archive |
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