Mailinglisten-Archive |
Hallo
Schau Dir mal den WebShop "oscommerce" an. Ehemals The Exchange Project.
http://www.oscommerce.com/
Die machen meiner Meinung nach genau das, was Du suchst.
Um zu sehen, wie das Menü aussieht, kannst Du ja mal bei
http://shop.second-designer.de vorbeischauen!!!
Mit freundlichen Grüßen
Frank Liebelt
> -----Original Message-----
> From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]
> On Behalf Of Patrick Schuster
> Sent: Friday, October 18, 2002 11:34 AM
> To: php_(at)_phpcenter.de
> Subject: [php] Rekursion in PHP (Kategorien,Unterkategorien)
>
>
> Hallo Leute,
>
> Hier mal wieder eine Deksportaufgabe damit der Freitag
> shneller vorbei geht :-))
>
> Ich will im Prinzip ein Warengruppen-Admin-Tool für einen
> Onlineshop schreiben. Dabei habe ich folgende Tabelle:
>
> CatID : CatPID : Name
> ---------------------
> 1 : NULL : Cat-1
> 2 : NULL : Cat-2
> 3 : 1 : Cat-1-1
> 4 : 1 : Cat-1-2
> 5 : 4 : Cat-1-2-1
> 6 : 2 : Cat-2-1
>
> u.s.w., also CatID ist die Eindeutige ID, CatPID jeweils die
> ID des Vaterknotens...
>
> Cat-1
> Cat-1-1
> Cat-1-2
> Cat-1-2-1
> Cat-2
> Cat-2-1
>
> Nun will ich eine Ausgabe in der Form, dass am Anfang alle
> Einträge mit CatPID = NULL untereinander stehen (also hier
> nur Cat-1 und Cat-2). Klickt man nun auf einen dieser Links
> (es soll als Parameter nur die eindeutige CatID übergeben
> werden), soll exakt dieser Ast ein Level weiter aufklappen
> (also nicht alles), dann kann ich bei dem aufgeklappten Ast
> wieder klicken und es soll noch exakt ein Level weiter
> aufgeklappt werden u.s.w. (selbstverständlich soll die Tiefe
> insgesamt beliebig sein). Wenn man dann auf einen anderen Ast
> (z.B. Cat-2) klickt, wird der ursprüngliche natürlich wieder
> eingeklappt und der gewählte klappt sich jeweils um ein Level aus.
>
> Nun hab ich es nach etwas basteln zwar geschafft, eine
> Rekursion zu schreiben (Skript siehe unten), die mir den Baum
> ausgibt, allerdings sind alle Ebenen bereits ausgeklappt. Und
> genau das will ich ja nicht, da es bei z.B. 100
> Unterkategorien schon sehr unübersichtlich wird. Was mir
> nicht geholfen hat, sind fertige Scripts alla Ulf Wendl, da
> hier die Originaldaten und das Handling zu verschieden sind.
>
> Hat jemand was passendes für mein Problem auf Lager oder ein
> paar Anregungen??
>
> P.S.: Falls jemand den Artikel/Warengruppen-Editor vom
> Schlund-Shop kennen sollte - genau so solls nachher aussehen :-)
>
> >>>>>>>>> Skript on <<<<<<<<<<
>
> function get_AllCats($CatID=""){
> if (empty($CatID)) {
> $sql = "SELECT CatID,CatPID,CatName from categories
> where CatPID is NULL";
> } else {
> $sql = "SELECT CatID,CatPID,CatName from categories
> where CatPID = '$CatID'";
> }
> $results = mysql_query($sql);
> if(empty($results)) {
> mysql_free_result($results);
> return false;
> }
> while ($row = mysql_fetch_array($results)){
> $id = $row["CatID"];
> $pid = $row["CatPID"];
> echo get_CatLevel($id,0);
> echo '<img src="pics/spacer_short.gif"
> align="absmiddle"><img src="pics/fc_grau.gif"
> align="absmiddle"> ';
> echo "<font face='Arial' size=2><a href='$id'>";
> echo get_CatNameFromID($id);
> echo "</a></font><br>";
> get_AllCats($id);
> }
> return true;
> }
>
> get_AllCats();
>
> >>>>>>>>> Skript off <<<<<<<<<<
>
> Vielen Dank im voraus
> Patrick
> --
> ** http://www.php-center.de **
> Die PHP-Liste: mailto: php_(at)_phpcenter.de
> http://lists.phpcenter.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive