Hi Leute !
hab da mal wieder ein kleines Problem wo ich sehr gut euer Wissen gebrauchen kann...
Erstmal eine kleine Beschreibung:
Ich habe eine Tabelle in der eine Menüstrktur abgelegt ist. Jeder Punkt kann beliebig viele Unterpunkte haben, jeder unterpunkt kann wieder beliebige Unterpunkte haben usw.
Die Tabelle sieht so aus:
uid | pid | menuname
uid = unique identifier
pid = parent_id
Ich habe mir eine Funktion geschrieben, der ich eine uid übergeben kann, und dir mir alle unterpunkte zu dieser Funktion ausgeibt.
Das ist auch alles wunderbar, num zu meinem Problem:
Im moment gebe ich in der Funktion selber die Unterpunkte aus - Das ist natürlich nicht so schön, viel lieber wäre es mir wenn die Funktion mir einen Array zurückliefern würde.
Und genau da ist mein Problem: Dadurch das sich die Funktion immer wieder selber aufruft, gehen meine Werte immer wieder verloren. Die Lösung wäre es, der Funktion selber den Array mit den aktuellen Werten zu übergeben, und die neuen Werte diesen anzufügen. Und genau hieran scheitere ich :/
Hier die Funktion:
Das ganze sollte ohne globale variablen funzen...
ich hoffe ihr könnt mir helfen,
grüße Ben
hab da mal wieder ein kleines Problem wo ich sehr gut euer Wissen gebrauchen kann...
Erstmal eine kleine Beschreibung:
Ich habe eine Tabelle in der eine Menüstrktur abgelegt ist. Jeder Punkt kann beliebig viele Unterpunkte haben, jeder unterpunkt kann wieder beliebige Unterpunkte haben usw.
Die Tabelle sieht so aus:
uid | pid | menuname
uid = unique identifier
pid = parent_id
Ich habe mir eine Funktion geschrieben, der ich eine uid übergeben kann, und dir mir alle unterpunkte zu dieser Funktion ausgeibt.
Das ist auch alles wunderbar, num zu meinem Problem:
Im moment gebe ich in der Funktion selber die Unterpunkte aus - Das ist natürlich nicht so schön, viel lieber wäre es mir wenn die Funktion mir einen Array zurückliefern würde.
Und genau da ist mein Problem: Dadurch das sich die Funktion immer wieder selber aufruft, gehen meine Werte immer wieder verloren. Die Lösung wäre es, der Funktion selber den Array mit den aktuellen Werten zu übergeben, und die neuen Werte diesen anzufügen. Und genau hieran scheitere ich :/
Hier die Funktion:
Code:
<? function checkMenuePoints($pid, $rekursiv = 1) { # $pid = ParentID eines Menüounktes, zu dem die Unterpunkte ausgegeben werden sollen # $rekursiv = 0 oder 1; legt fest ob die Unterpunkte rekursiv ausgegeben werden sollen, oder ob nur die direkten # Unterpunkte angezeit werden $SQL = "SELECT uid, pid, name FROM tbl_faqbaum WHERE pid = '$pid';"; $rssubmenue = mysql_query($SQL); $margin = $marg; if (mysql_num_rows($rssubmenue) > 0) // Unterpunkte vorhanden, Unterpunkt ausgeben und prüfen ob es weitere Unterpunkte gibt { $SQL2 = "SELECT UID FROM tbl_faqbaum WHERE pid='$pid'"; $rsuid = mysql_fetch_object(mysql_query($SQL2)); #$uid = $rsuid->uid; while ($submenue = mysql_fetch_object($rssubmenue)) { ?> <? echo stripslashes($submenue->name) ?> <? if ($rekursiv == 1) { checkMenuePoints($submenue->uid,$rekursiv); } } } } ?>
ich hoffe ihr könnt mir helfen,
grüße Ben
Kommentar