Multidimensionale Ausgabe?!

napsio

Mitglied
Hallo,

ich sitze schon seit längerer Zeit ein einem Problem und habe mich jetzt doch entschieden, mal ins Forum zu posten.

Und zwar...Ich möchte ein Formular schreiben, indem sich ein Select-Feld befindet, welches Dynamisch gefüllt wird. Soweit noch kein Problem. Aber jetzt kommts:

Code:
cat_id | cat_subid | cat_name
-----------------------------------------------
1      | 0         | kategorie 1
2      | 0         | kategorie 2
3      | 1         | kategorie 3
4      | 1         | kategorie 4
5      | 2         | kategorie 5
6      | 2         | kategorie 6
7      | 3         | kategorie 7
8      | 6         | kategorie 8
9      | 8         | kategorie 9
So siehts ungefähr in der Datenbank aus.

Code:
-) Kategorie 1
---) Kategorie 3
-----) Kategorie 7
---) Kategorie 4
-) Kategorie 2
---) Kategorie 5
---) Kategorie 6
-----) Kategorie 8
-------) Kategorie 9

Und so sollte es in dem Select-Feld aussehen. Ich komme da nicht weiter und hoffe, dass mir hier jemand helfen kann.

Danke
 
dank dir...das hat mir weitergeholfen

//EDIT

Jetzt habe ich aber folgendes Problem:

wenn ich

PHP:
function list_cat($parent, $level) {
		
		$result = mysql_query(
			"SELECT * 
			 FROM cat
			 WHERE cat_subid='".$parent."'"
		);
		while ($row = mysql_fetch_array($result)) {
		   $titel = str_repeat('- ',$level).$row['cat_title'];
		   $option .= "<option value=\"".$row['cat_id']."\">".$titel."</option>\n";

		   list_cat($row['cat_id'], $level+1);
		}
		return $option;
	}

Dann gibt der bloß die Hauptkategirueb aus...Also die, die cat_subid = 0 haben.

Wenn ich jedoch anstatt

PHP:
		   $option .= "<option value=\"".$row['cat_id']."\">".$titel."</option>\n";

folgendes mache

PHP:
		  echo "<option value=\"".$row['cat_id']."\">".$titel."</option>\n";

dann zeigt der wiederrum alle richtig an. Bloß habe ich dann keinen Rückgabewert in der Funktion. Ich glaube ich bin mal wieder zu blind um den Fehler zu sehen.

//EDIT

nochmal ich

habs jetzt doch noch hinbekommen...war echt zu blind...hehe
 
Zuletzt bearbeitet:
Zurück