Mailinglisten-Archive |
* Tom Malek wrote:
> Ich suche aber eine Klasse rein ohne das grafische Output, denn das möcht'
> ich selber handlen.
Sagte ich doch, http://www.ulf-wendel.de/menu3/
> Ausserdem soll das ganze auf mySQL-Basis funktionieren,
> was bei Menu3 wohl nicht der Fall ist !?
Macht ja nix. Wenn deine DB-Menüstruktur über parent
gelöst ist, also z.B.
cid
cparent
cname
cid cparent cname
1 0 foo
2 1 untermenuepunkt von foo
Dann baust du dir einfach eine rekursive Funktion, die
das zusammenschneidert, z.B. so:
<?php
class tree_manager {
[...]
function read_categories_into_tree($parent, &$readarr) {
$db = new DB_job;
$db1 = new DB_job;
$db->query("select * from category where cparent='$parent'");
while ($db->next_record()) {
$id = $db->f("cid");
$name = $db->f("cname");
$hash = $id;
$readarr["$hash"] = array(
"title" => $name,
"url" => "catedit.php?id=$id",
"target" => "right"
);
$db1->query("select count(*) as anz from category where cparent='$id'");
$db1->next_record();
$anz = $db1->f("anz");
if ($anz > 0) {
$readarr["$hash"]["sub"] = array();
$this->read_categories_into_tree($id, $readarr["$hash"]["sub"]);
}
}
}
}
?>
PS: bitte keine Fullquotes und nach 72 Zeichen einmal
auf die RETURN-Taste hauen, Mails sind keine Textver-
arbeitung.
--
Die Marktumfrage zu PHP Schulungen, Consultingdienstleistungen und
frei verfügbaren Artikeln.
Mitmachen? http://www.thinkphp.de/survey/survey.php
php::bar PHP Wiki - Listenarchive