Funktion rekursiv aufrunfen

Gesperrt
bauer-martin.com
Beiträge: 1
Registriert: Sa 11. Sep 2004, 11:14
Kontaktdaten:

Funktion rekursiv aufrunfen

Beitrag von bauer-martin.com »

Ich hab eine Funktion welche einwandfrei funktioniert. Wenn ich diese aber rekursiv aufrufe, dann nimmt er immer nur den ersten Teil und bricht dann ganz ab. Wo liegt den der Fehler?

Code: Alles auswählen

if(!is_object($mydb)) {
    $mydb = new DB_Contenido;
}

function nav($kategorieid, $sub, $mydb) {
	$sql = "SELECT
				cat.idcat,
				cat_lang.name
			FROM
				www_cat AS cat,
				www_cat_lang AS cat_lang,
				www_cat_tree AS cat_tree
			WHERE
				cat.idcat     = cat_lang.idcat   AND
				cat.parentid  = ".$kategorieid." AND
				cat.idcat	  = cat_tree.idcat
			ORDER BY
				cat_tree.idtree;";
	$mydb->query($sql);

	while($mydb->next_record()) {
		if($mydb->f("name") == "_LEER_") {
			$content .= "<tr>
			  <td>&nbsp;</td>
			</tr>";
		} else {
			$content .= "<tr>
			  <td><a href=\"front_content.php?idcat=".$mydb->f("idcat")."\">".$mydb->f("name")."</a></td>
			</tr>";
			$content .= nav($mydb->f("idcat"),0, $mydb);
		}
	}
	
	return $content;	
}
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Re: Funktion rekursiv aufrunfen

Beitrag von emergence »

bauer-martin.com hat geschrieben:Ich hab eine Funktion welche einwandfrei funktioniert. Wenn ich diese aber rekursiv aufrufe, dann nimmt er immer nur den ersten Teil und bricht dann ganz ab. Wo liegt den der Fehler?
du verwendest immer das selbe $mydb objekt...

Code: Alles auswählen

function nav($kategorieid, $sub) {
	$mydb = new DB_Contenido; // müsste hier initialisiert werden...
	$sql = "SELECT
				cat.idcat,
				cat_lang.name
			FROM
				www_cat AS cat,
				www_cat_lang AS cat_lang,
				www_cat_tree AS cat_tree
			WHERE
				cat.idcat     = cat_lang.idcat   AND
				cat.parentid  = ".$kategorieid." AND
				cat.idcat	  = cat_tree.idcat
			ORDER BY
				cat_tree.idtree;";
	$mydb->query($sql);

	while($mydb->next_record()) {
		if($mydb->f("name") == "_LEER_") {
			$content .= "<tr>
			  <td>&nbsp;</td>
			</tr>";
		} else {
			$content .= "<tr>
			  <td><a href="front_content.php?idcat=".$mydb->f("idcat")."">".$mydb->f("name")."</a></td>
			</tr>";
			$content .= nav($mydb->f("idcat"),0);
		}
	}
	
	return $content;	
}
*** make your own tools (wishlist :: thx)
Gesperrt