phpbar.de logo

Mailinglisten-Archive

[php] Rekursion in PHP (Kategorien,Unterkategorien)

[php] Rekursion in PHP (Kategorien,Unterkategorien)

Patrick Schuster php_(at)_phpcenter.de
Fri, 18 Oct 2002 15:08:30 +0200


Hallo Thilo,

>
> Hey Patrick,
>
> hab noch nen kleinen Fehler entdeckt.
>
> Des mit dem if(!$current) ....$NewhRef ..
> solltest du vor die while schleife setzen
> und bei beiden EchoData Aufrufen nicht $hRef angeben sondern $NewhRef.
>
> sonst werden dir die Haupt-Categorieen nicht angezeigt sobald
> du eins tiefer gehst.
>
> Ciao Thilo

Schonmal vielen Dank für Deine Mühe!!!!!!
Während ich mich schon fleissig in die "Nested Sets" einlese (Hinweis
von Wolfgang),
Wollte ich Deinen Ansatz ausprobieren und komme da leider nicht weiter.
Irgendwie zeigt mir Dein Skript zwar die Hauptkategorien brav an, dann
geht's aber leider nicht weiter, d.h. bei jedem Click kommen wieder nur
die Hauptkategorien:

>>>>>>Script on <<<<<<<<<
function MakeCatTree($arrCat, $hRef, $current = 0) {
	if ($arrCat[$current] == "NULL") {
		$query = "SELECT * from categories WHERE CatPID is
NULL";
	} else {
		 $query = "SELECT * from categories WHERE CatPID =
".$arrCat[$current];
	}
    $result = mysql_query($query);

	if( mysql_affected_rows() > 0) {
		if(!$current)
			$NewhRef = $hRef."?arrCat[]=".$row["CatID"];
	 	else
		    $NewhRef = $hRef."&arrCat[]=".$row["CatID"];

		while (($row = mysql_fetch_array($result))) {
			if($current == count($arrCat) || $row["CatID"]
!= ($arrCat[$current])) {
				//Daten Ausgeben
		        EchoData($row,  $NewhRef);
		    } else {
		        EchoData($row,  $NewhRef);
		        MakeCatTree($arrCat, $NewhRef, $current + 1);
			}
		}
	}
}
>>>>>>Script off <<<<<<<<<

Hast Du eine Ahnung woran das liegen könnte??

Tschüss
Patrick


php::bar PHP Wiki   -   Listenarchive