Mailinglisten-Archive |
so hab' ich aber bei einer ziemlich gro=DFen Menustruktur ziemlich viele DB=
-Anfragen. Beispielsweise m=F6chte ich einmal die komplette Struktur laden =
und mittels Javascript als Exlorer-Menu im Browser anzeigen lassen. Bis ich=
da die komplette Struktur aus der DB ausgelesen hab', wurden ziemlich viel=
e SELECT-Anfragen gemacht.=20
> * Tom Malek wrote:
> > Ich suche aber eine Klasse rein ohne das grafische Output, denn das
> m=F6cht'
> > ich selber handlen.
>=20
> Sagte ich doch, http://www.ulf-wendel.de/menu3/
>=20
> > Ausserdem soll das ganze auf mySQL-Basis funktionieren,
> > was bei Menu3 wohl nicht der Fall ist !?
>=20
> Macht ja nix. Wenn deine DB-Men=FCstruktur =FCber parent
> gel=F6st ist, also z.B.
>=20
> cid
> cparent
> cname
> =20
> cid cparent cname
> 1 0 foo
> 2 1 untermenuepunkt von foo
> =20
> Dann baust du dir einfach eine rekursive Funktion, die
> das zusammenschneidert, z.B. so:
>=20
> <?php
>=20
> class tree_manager {
>=20
> =09[...]
> =09
> function read_categories_into_tree($parent, &$readarr) {
> $db =3D new DB_job;
> $db1 =3D new DB_job;
>=20
> $db->query("select * from category where cparent=3D'$parent'");
> =20
> while ($db->next_record()) {
> $id =3D $db->f("cid");
> $name =3D $db->f("cname");
>=20
> $hash =3D $id;
>=20
> $readarr["$hash"] =3D array(
> =09=09=09"title" =3D> $name,
> =09=09=09"url" =3D> "catedit.php?id=3D$id",
> =09=09=09=09"target" =3D> "right"
> =09=09=09);
>=20
> $db1->query("select count(*) as anz from category where
> cparent=3D'$id'");
> $db1->next_record();
> $anz =3D $db1->f("anz");
>=20
> if ($anz > 0) {
> $readarr["$hash"]["sub"] =3D array();
> $this->read_categories_into_tree($id,
> $readarr["$hash"]["sub"]);
> }
> }
> }
>=20
> }
> ?>
>=20
>=20
> PS: bitte keine Fullquotes und nach 72 Zeichen einmal
> auf die RETURN-Taste hauen, Mails sind keine Textver-
> arbeitung.
>=20
> --=20
> Die Marktumfrage zu PHP Schulungen, Consultingdienstleistungen und
> frei verf=FCgbaren Artikeln.
>=20
> Mitmachen? http://www.thinkphp.de/survey/survey.php
> --=20
> ** http://www.php-center.de **
> Die PHP-Liste: mailto: php_(at)_phpcenter.de
> http://lists.phpcenter.de/mailman/listinfo/php
>=20
______________________________________________________
http://firemail.fireball.de - Ihr Briefkasten im Web.=20
Einfach, schnell, sicher.
php::bar PHP Wiki - Listenarchive