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